Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring jpa hibernate未知实体异常_Hibernate_Jpa - Fatal编程技术网

spring jpa hibernate未知实体异常

spring jpa hibernate未知实体异常,hibernate,jpa,Hibernate,Jpa,我发生了一件很奇怪的事 如果我清理目标文件夹并运行测试,它们就可以正常工作。如果我在没有清理的情况下再次运行它,我会得到以下错误 java.lang.IllegalArgumentException: Unknown entity: com.merc.domain.EventLog at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:675) a

我发生了一件很奇怪的事

如果我清理目标文件夹并运行测试,它们就可以正常工作。如果我在没有清理的情况下再次运行它,我会得到以下错误

java.lang.IllegalArgumentException: Unknown entity: com.merc.domain.EventLog at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:675) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240) java.lang.IllegalArgumentException:未知实体:com.merc.domain.EventLog 位于org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:675) 位于org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
当目标文件夹中只有编译过的类时,为什么会发生这种情况。我正在使用maven为netbeans用户构建

,这让人大开眼界


我在netbeans中有一个maven项目。如果我删除目标文件夹中的文件,右键单击Netbeans中的my test.java文件并选择“test file”。Netbeans运行maven命令来构建文件和类路径,然后使用测试资源中的文件执行测试,效果很好。但是,如果java类已经编译,那么Netbeans将使用classes文件夹(而不是TestClasses文件夹)中的资源运行测试。在我的例子中,classes文件夹中的persistence.xml缺少一些细节,我并不关心这些细节,因为我更关注单元测试。

在eclipse中,您必须配置构建路径,以便eclipse注意到它必须在正确的输出目录中查找文件


您还可以配置maven构建,使其与JUnit查找文件的位置相匹配。

我尝试了相同的测试,但在eclipse的netbeans中失败,并且在eclipse中成功,这是我发现问题出在netbeans而不是其他方面的一种方法。