Как отношения один ко многим в соединительной таблице в Hibernate - PullRequest
0 голосов
/ 06 февраля 2012

здесь файлы сопоставления:

BusinessCard.hbm.xml

<hibernate-mapping>
    <class name="com.hibernate.BusinessCard" table="BUSINESSCARD">
        <id length="4" name="id" type="int">
            <column length="4" name="ID"/>
            <generator class="increment"/>
        </id>
        <property generated="never" lazy="false" name="name" type="java.lang.String">
            <column length="50" name="NAME"/>
        </property>
        <property generated="never" lazy="false" name="description" type="java.lang.String">
            <column length="250" name="DESCRIPTION"/>
        </property>

    </class>
</hibernate-mapping>

BusinessGup.hbm.xml

<hibernate-mapping>
    <class name="com.hibernate.BusinessGroup" table="BUSINESSGROUP">
        <id name="id" type="int">
            <column name="ID" length="4"/>
            <generator class="increment" />
        </id>
        <property name="name" type="java.lang.String">
            <column name="NAME" length="25"/>
        </property>
        <property name="description" type="java.lang.String">
            <column name="DESCRIPTION" length="250"/>
        </property>
    </class>
</hibernate-mapping>

BusinessContact.hbm.xml (присоединиться к таблице, в которой я хочу сделать отображение один ко многим)

<hibernate-mapping>
    <class name="com.hibernate.BusinessContact" table="BUSINESSCONTACT">
        <id name="id" type="int">
            <column name="ID" length="4"/>
            <generator class="increment" />
        </id>
        <property name="businessId" type="java.lang.Integer">
            <column name="BUSINESSID" length="4"/>
        </property>
        <property name="groupId" type="java.lang.Integer">
            <column name="GROUPID" length="4"/>
        </property>      
    </class>
</hibernate-mapping>

Итак, в таблице BUSINESSCONTACT я пытаюсь выполнить сопоставление один-ко-многим между businesscard и businessgroup. К сожалению, я не смог этого сделать, несмотря на поиск решения в сети. Кто-нибудь может мне помочь по этому вопросу?

Thx ..

1 Ответ

2 голосов
/ 06 февраля 2012

Не ищите в сети.Вместо этого прочитайте справочную документацию .

Вот раздел, показывающий пример однонаправленной ассоциации один-ко-многим .

Ваше отображение не 'не имеет смысла.Если вы хотите, чтобы между BusinessGroup и BusinessCard была связь «один ко многим», класс BusinessGroup должен иметь коллекцию BusinessCards.

Не должно быть класса BusinessContact, поскольку таблица BUSINESSCONTACT является просто таблицей соединений, а не сущностью.Его единственное использование - удерживать ассоциацию между другими объектами, и, таким образом, она полностью управляется ассоциацией.

...