为什么我的JPA注释类没有隐式发现?

我的persistence.xml看起来像:

   org.hibernate.ejb.HibernatePersistence com.XXX.Abc   ..    

一切正常。 当我删除指令时,我从EntityManager.find(Abc.class, 1)得到一个exception:

 java.lang.IllegalArgumentException: Unknown entity: com.XXX.Abc 

看起来hibernate无法发现我的注释类,虽然我正在使用@Entity ..为什么?

hibernate.archive.autodetection的值是由hibernate自动发现的csv元素列表。

试试这个:

  

进一步阅读

  • Hibernate社区文档,2.2.2 – Bootstrapping (有一个包含属性文档的表)

尝试制作它……就像这样

  

单证

我认为Hibernate在与persistence.xml相同的代码源中查找类。 因此,例如,如果你在一个文件夹中有persistence.xml,并且在一个单独的jar中有类,那么Hibernate将无法找到它们。