gpt4 book ai didi

java - Hibernate 在测试中找不到实体

转载 作者:行者123 更新时间:2023-12-01 17:30:43 26 4
gpt4 key购买 nike

我有一个由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-unit我的测试中的声明persistence.xml :

<jar-file>${project.build.outputDirectory}</jar-file>

关于java - Hibernate 在测试中找不到实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61127082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com