[英]Hibernate doesn't find entities in test
我有一個由Maven搭建的JDK11項目,充分利用了Java 9中引入的JPMS。
我想編寫集成測試,我使用嵌入式 H2 數據庫。 我的 JPA 提供程序是 Hibernate 5.4.9。
由於H2數據庫只在測試時使用,所以我首先嘗試將persistence.xml
放在測試資源文件夾中。
問題在於 Hibernate 僅在test-classes
文件夾中查找實體,而完全忽略了我的實體所在的主類。 所以我的測試失敗了,因為它沒有找到我要使用的實體。
如果我將持久性單元聲明復制到主資源文件夾,一切正常,但是,我不想在那里,因為 Hibernate 只是一個測試依賴項,我不想使用不存在的類。
為什么會突然出現這個問題? 我以前從未遇到過這個問題(主要是 Java 8 和 Hibernate 5.3)。
我能否設法檢測到我的實體而無需將我的persistence.xml
復制到我的主要資源? 我也不想手動列出我的實體。
我解決了。 我忘記在我的測試persistence.xml
中的persistence-unit
聲明中添加以下行:
<jar-file>${project.build.outputDirectory}</jar-file>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.