Hibernate: unmapped association de la classe exception

Je sais que ce doit être un joli élémentaire problème à résoudre, mais 1) je suis relativement nouveau à Hiberner, et 2) les corrections que j'ai trouvé n'est pas (semble) s'appliquent ici.

Ici est l'exception, j'obtiens:

org.mise en veille prolongée.MappingException: Une association à partir de la table de POSTES se réfère à 
un mappage de classe: com.les haricots.L'utilisateur à 
org.mise en veille prolongée.cfg.La Configuration.secondPassCompileForeignKeys(de Configuration.java:1285)

Cela se produit lorsque Hibernate tente de configurer lui-même.

Les objets avec lesquelles je travaille sont les Utilisateurs, les Messages (super-classe abstraite), les Statuts et les Commentaires (en béton des sous-classes de la Poste). Chacun est bean à partir de l'une des deux tables: la table des UTILISATEURS et des POSTES. L'Utilisateur des objets sont assez vanille: beaucoup de bland champs décrivant l'utilisateur. En plus de même ennuyeux champs, d'un Statut et d'un Commentaire à la fois ont des propriétaires (l'Utilisateur qui a posté il). Ce qui différencie un État à partir d'un Commentaire est qu'un État peut avoir une liste de Commentaires attaché à elle, mais aucun parent, tandis qu'un Commentaire n'a pas d'enfants posts, mais a un parent (oui, c'est fondamentalement Facebook).

De ce que j'ai lu, le problème semble être dans le plusieurs-à-un les mappages, mais je n'arrive pas à trouver quelque chose de mal. Voici les trois fichiers de configuration que j'utilise.

hibernate.cfg.xml:

<hibernate-configuration> 
<session-factory> 
... 
<!-- mappé les classes de persistance --> 
<la cartographie des ressources="User.hbm.xml" /> 
<la cartographie des ressources="Post.hbm.xml" /> 
</session-factory> 
</hibernate-configuration>

User.hbm.xml:

<hibernate-mapping> 
<class name="com.les haricots.Utilisateur" entity-name="Utilisateur" table="UTILISATEURS" proxy="Utilisateur"> 
<id name="uid" type="java.lang.Integer"> 
<la colonne name="uid" /> 
<generator class="affecté" /> 
</id> 
... 
</classe> 
</hibernate-mapping>

Post.hbm.xml:

<hibernate-mapping>
    <class name="com.beans.Post" entity-name="Post" table="POSTS" proxy="Post" abstract="true">
        <id name="pid" type="java.lang.Integer">
            <column name="pid" />
            <generator class="assigned" />
        </id>            
        <discriminator column="type" />
        <one-to-one name="parent" class="com.beans.Post"></one-to-one>
        <many-to-one name="owner" class="com.beans.User" update="false" fetch="select">
            <column name="owner" />
        </many-to-one>
        <property name="postDate" type="java.sql.Timestamp" update="false">
            <column name="post_date" />
        </property>
        <property name="content" type="java.lang.String" update="false">
        <column name="content" />
        </property>
        <property name="type" type="string" update="false">
         <column name="type" />
        </property>

        <subclass name="com.beans.Status" discriminator-value="status">
         <list name="children" inverse="false" table="POSTS" lazy="true">
                <key column="pid" />
             <index />
             <one-to-many class="com.beans.Comment" />
     </list>
        </subclass>

        <subclass name="com.beans.Comment" discriminator-value="comment"></subclass> 
    </class>
</hibernate-mapping>

J'ai l'impression que j'ai besoin de spécifier quelque part le fait que d'un Statut contient une liste de tableaux de Commentaire, mais n'est-ce pas ce que fait implicitement, par le biais de la "liste" construire dans le Post.hbm.xml fichier?

Les fichiers xml existe dans mon classpath (WEB-INF/classes), et de l' .java fichiers eux-mêmes sont visibles à l'application. Idées serait appréciée!

OriginalL'auteur Magsol | 2009-10-14