spring jpa hibernate未知实体异常

时间:2011-01-06 15:21:40

标签: hibernate jpa

我发生了一件相当奇怪的事情。

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

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)

当目标文件夹只包含已编译的类时,可能会发生这种情况的任何想法。我正在使用maven来构建

2 个答案:

答案 0 :(得分:0)

对于netbeans用户来说,这是一个大开眼界。

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

答案 1 :(得分:0)

在eclipse中,你必须配置build-path,以便eclipse注意到它必须在正确的输出目录中查找文件。

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