Hibernate / JPA注释 – 未知实体

几个月来一直运行良好的应用程序已经停止了几个月来已经成为其中一部分的JPA @Entity注释。 随着我的集成测试运行,我看到了几十个“ org.hibernate.MappingException: Unknown entity: com.whatever.OrderSystem ”类型错误。

我不清楚这里出了什么问题。

我没有hibernate.cfg.xml文件,因为我正在使用Hibernate实体管理器。 由于我只使用注释,因此我的实体没有.hbm.xml文件。 我的persistence.xml文件很小,并且按照预期存在于META-INF中。

我显然错过了一些东西,但不能把手指放在上面。

我正在使用hibernate-annotations 3.2.1,hibernate-entitymanager 3.2.1,persistence-api 1.0和hibernate 3.2.1。 hibernate-commons-annotations也是项目POM的一部分,但我不知道这是否相关。

是否有一个已消失的web.xml条目,或者一个意外删除的Spring配置条目?

我似乎记得我曾经有类似的问题。

这是一个很长的镜头,但如果您还没有这样做,您是否明确指定了您正在使用的提供商?

   org.hibernate.ejb.HibernatePersistence <---- explicit setting ....   

否则,我不确定?

validation您的实体classe导入javax.persistent.Entity而不是org.hibernate.annotations.Entity

这是针对一个特定类(几个类)还是所有实体类发生的。 persistence.xml文件包含需要针对@Entity映射进行扫描的类和/或jar文件的列表。 如果它早些时候工作,你可以使用正常工作的persistence.xml版本进行快速差异。 另一个问题可能是它正在拾取不同的persistence.xml文件 – 您可以通过在persistence.xml中引入错误(例如,使xml无效)来validation这一点。