2011-07-08 77 views
1

用戶類的配置:org.hibernate.MappingException:協會引用未映射類

<class name="User" table="users" lazy="false"> 
    <id name="id" column="id"> 
     <generator class="native"/> 
    </id>   
    <property name="type" column="type"/>   
    <many-to-one name="parent" column="parent"/> 
    <property name="loginName" column="login_name" unique="true" not-null="true" index="idx_users_login_name" length="50"/> 
    <property name="name" column="name" length="50"/> 
    <property name="password" column="password"/> 
    <property name="email" column="email" length="50"/> 
    <property name="locale" column="locale" length="20"/> 
    <property name="locked" column="locked"/> 
    <many-to-one name="metadata" column="metadata_id"/> 
    <set name="userSpaceRoles" cascade="all" inverse="true" lazy="false"> 
     <key column="user_id"/> 
     <one-to-many class="UserSpaceRole"/> 
    </set>  
</class> 

以及類MeetingItem是:

<class name="MeetingItem" table="meeting_item"> 
    <id name="id" column="meeting_item_id" type="long"> 
     <generator class="native"/> 
    </id> 
    <property name="summary" column="summary" type="string"/> 
    <property name="detail" column="detail" type="string"/> 
    <many-to-one name="space" column="space_id"/> 
    <property name="date" column="date" type="date"/> 
    <list name="users" cascade="all" lazy="false"> 
     <key column="meeting_item_id"/> 
     <index column="idx"/> 
     <one-to-many class="User"/> 
    </list> 
</class> 

的問題是我得到異常:

org.hibernate.MappingException: Association references unmapped class: info.domain.User 
at org.hibernate.cfg.HbmBinder.bindCollectionSecondPass(HbmBinder.java:2380) 
at org.hibernate.cfg.HbmBinder.bindListSecondPass(HbmBinder.java:2231) 
at org.hibernate.cfg.HbmBinder$ListSecondPass.secondPass(HbmBinder.java:2729) 
at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:43) 
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1130) 
at org.hibernate.cfg.Configuration.generateSchemaUpdateScript(Configuration.java:936) 
at org.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:140) 

列表中的映射產生的問題。我做錯了什麼?


編輯:

這兩個配置駐留在不同的文件中,如果這兩個被放置在同一個XML則問題不會發生。

回答

3

請加到映射文件的引用(映射info.domain.User)插入的hibernate.cfg.xml。

+0

感謝。但是我沒有hibernate.cfg.xml,因爲一切都是由Spring控制的。在創建info.domain.MeetingItem的嘗試之前,也會創建與info.domain.User對應的表。 –

+1

您必須鏈接映射文件(的.hbm.xml)春天..你需要添加映射文件'info.domain.User'類存在。 –

0

請添加類級別的註解,因爲你不使用XML配置註冊類作爲一個Spring bean,即@Entity在這種情況下。

相關問題