2010-09-29 75 views
3

persistence.xml样子:为什么我的JPA注释类没有隐式发现?

<persistence> 
    <persistence-unit name="test"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <class>com.XXX.Abc</class> 
    <properties> 
     <property name="hibernate.archive.autodetection" value="true" /> 
     .. 
    </properties> 
    </persistence-unit> 
<persistence> 

,一切工作正常。当我删除<class>指令我从EntityManager.find(Abc.class, 1)得到一个例外:

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

看起来像Hibernate无法发现我的注释类虽然我使用@Entity。为什么?

回答

8

hibernate.archive.autodetection的值由休眠自动查找元素的CSV列表。

试试这个:

<property name="hibernate.archive.autodetection" value="class, hbm"/> 

进一步阅读

+0

班级已足够我认为他的case.no需要hbm – 2010-09-29 08:06:12

1

尝试使it..like这

<property name="hibernate.archive.autodetection" value="class" /> 

Documentations

0

我觉得休眠查找类一世与persistence.xml相同的代码源。所以,举个例子,如果你在一个文件夹中有persistence.xml文件,并且在一个单独的jar文件中有类,Hibernate就不会找到它们。