org.hibernate.MappingException: ассоциация ссылается на не сопоставленный класс - PullRequest
1 голос
/ 08 июля 2011

Конфигурация для класса пользователя:

<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)

Отображение списка создает проблему. Что я делаю не так?


Edit:

Эти две конфигурации находятся в разных файлах, если эти две конфигурации помещены в один и тот же xml, проблема не возникает.

Ответы [ 2 ]

3 голосов
/ 08 июля 2011

добавьте ссылку на файл сопоставления (который сопоставляет info.domain.User) в hibernate.cfg.xml.

0 голосов
/ 06 февраля 2017

Пожалуйста, добавьте аннотации на уровне класса, чтобы зарегистрировать класс как bean-компонент Spring, т.е. в этом случае @Entity, поскольку вы не используете конфигурацию xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...