休眠/ JPA批注 - 未知实体
的应用程序已经数月的工作以及已经停止拿起JPA @Entity
批注一直是它的一部分几个月。随着我的集成测试运行,我看到几十个“org.hibernate.MappingException: Unknown entity: com.whatever.OrderSystem
”类型的错误。休眠/ JPA批注 - 未知实体
我不清楚这里出了什么问题。
我没有hibernate.cfg.xml
文件,因为我使用Hibernate的实体管理器。由于我只使用注释,因此我的实体没有.hbm.xml文件。我的persistence.xml
文件很小,并且按照它的设想存在于META-INF
中。
我显然失去了一些东西,但不能把我的手指上。
我使用的Hibernate注解3.2.1,休眠-的EntityManager 3.2.1,持久性API 1.0和3.2.1冬眠。 hibernate-commons-annotations也是该项目的POM的一部分,但我不知道这是否相关。
有一个web.xml条目已经消失,或者已经不小心被删除的Spring配置项?
我似乎记得我曾经有过类似的问题。
它是一个长镜头,但如果你不是已经这样做了,你有没有明确指定要使用的供应商?
<persistence ...>
<persistence-unit ...>
<provider>org.hibernate.ejb.HibernatePersistence</provider> <---- explicit setting
....
</persistence-unit>
</persistence>
否则,我不知道?
验证你的实体CLASSE您导入javax.persistent.Entity而不是org.hibernate.annotations.Entity
这是发生了一个特定的类(几班)或所有的实体类。 persistence.xml文件包含需要扫描@Entity映射的类和/或jar文件的列表。如果它工作的更早,可以使用正常工作的persistence.xml版本进行快速比较。另一个问题可能是它正在拾取一个不同的persistence.xml文件 - 您可以通过在persistence.xml中引入错误(例如,使xml无效)来验证此问题。
这解决了它。谢谢。我仍然不明白为什么它自发地停止工作,但我很高兴有一个解决方案。 – 2008-11-06 20:38:04