1

ID私は休止状態を使用して、フィールドへの外部キーにリンクされたいくつかのmySQLテーブルをリバースエンジニアリングしました。これorg.hibernate.DuplicateMappingException: Duplicate collection role mapping com.hibernate.user.User.empHours.で、コードをいじる前にこの問題を解決できましたが、リバースエンジニアリングをやり直す必要があり、今回はエラーを取り除くことができないようです。誰かが問題を解決する方法と何が起こっているのかを説明して、将来それを修正する方法を理解することができれば、それは大いにありがたいです。

ユーザー情報.hbm.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.hibernate.user.User" table="user" catalog="secondsql">
        <id name="id" type="java.lang.String">
            <column name="ID" length="10" />
            <generator class="assigned" />
        </id>
        <property name="username" type="java.lang.String">
            <column name="Username" length="20" unique="true" />
        </property>
        <property name="password" type="java.lang.String">
            <column name="Password" length="20" />
        </property>
        <property name="firstName" type="java.lang.String">
            <column name="FirstName" length="20" />
        </property>
        <property name="lastName" type="java.lang.String">
            <column name="LastName" length="20" />
        </property>
        <property name="resume" type="java.lang.String">
            <column name="Resume" length="100" />
        </property>
        <property name="admin" type="java.lang.Boolean">
            <column name="admin" not-null="true" />
        </property>
        <property name="colorScheme" type="java.lang.String">
            <column name="colorScheme" length="10" not-null="true" />
        </property>
        <set name="empHours" inverse="true" table="emp_hours">
            <key>
                <column name="ID" length="10" />
            </key>
            <one-to-many class="com.hibernate.hours.EmpHours" />
        </set>
    </class>
</hibernate-mapping>

従業員時間.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="com.hibernate.hours.EmpHours" table="emp_hours" catalog="secondsql">
        <id name="timesheetId" type="java.lang.Long">
            <column name="Timesheet_ID" />
            <generator class="identity" />
        </id>
        <many-to-one name="user" class="com.hibernate.user.User" fetch="select">
            <column name="ID" length="10" />
        </many-to-one>
        <property name="weekOf" type="java.util.Date">
            <column name="WeekOf" length="10" />
        </property>
        <property name="workType" type="java.lang.String">
            <column name="Work_Type" length="20" />
        </property>
        <property name="monday" type="java.lang.Integer">
            <column name="Monday" />
        </property>
        <property name="tuesday" type="java.lang.Integer">
            <column name="Tuesday" />
        </property>
        <property name="wednesday" type="java.lang.Integer">
            <column name="Wednesday" />
        </property>
        <property name="thursday" type="java.lang.Integer">
            <column name="Thursday" />
        </property>
        <property name="friday" type="java.lang.Integer">
            <column name="Friday" />
        </property>
        <property name="saturday" type="java.lang.Integer">
            <column name="Saturday" />
        </property>
        <property name="sunday" type="java.lang.Integer">
            <column name="Sunday" />
        </property>
        <property name="weekTotal" type="java.lang.Integer">
            <column name="Week_Total" />
        </property>
    </class>
</hibernate-mapping>

エラーについて私が興味深いと思うのは、empHoursが入っていてcom.hibernate.hours、ユーザー情報が入っていることです。com.hibernate.user

4

1 に答える 1

0

誰かがこれに遭遇した場合、私は.hbm.xmlそれがはるかに簡単に使用できるのではなく、注釈マッピングを使用することによって問題を解決しました。

于 2012-08-14T13:41:46.273 に答える