簡體   English   中英

Hibernate 在測試中找不到實體

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM