2011-07-08 6 views
1

設定:org.hibernate.MappingException:Userクラスのための協会の参照マップされていないクラス

<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に配置されている場合は、この2つの構成は、別のファイルに存在します。

答えて

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

クラスの注釈を追加して、クラスをSpring Beanとして登録してください(この場合、@Entityはxml設定を使用していないためです)。

関連する問題