如何在Hibernate中创建联接表中的一对多关系

如何在Hibernate中创建联接表中的一对多关系,hibernate,mapping,one-to-many,Hibernate,Mapping,One To Many,以下是映射文件: BusinessCard.hbm.xml BusinessGup.hbm.xml BusinessContact.hbm.xml(我想在其中进行一对多映射的联接表) 所以,在BUSINESSCONTACT表上,我尝试在名片和业务组之间进行一对多映射。不幸的是,尽管在网上搜索解决方案,我还是无法做到这一点。有人能帮我解决这个问题吗 Thx.不要在网上搜索。改为读这本书 给你 你的映射没有意义。如果您想在BusinessGroup和BusinessCard之间建立一对多

以下是映射文件:

BusinessCard.hbm.xml

BusinessGup.hbm.xml

BusinessContact.hbm.xml(我想在其中进行一对多映射的联接表)

所以,在BUSINESSCONTACT表上,我尝试在名片和业务组之间进行一对多映射。不幸的是,尽管在网上搜索解决方案,我还是无法做到这一点。有人能帮我解决这个问题吗


Thx.

不要在网上搜索。改为读这本书

给你

你的映射没有意义。如果您想在BusinessGroup和BusinessCard之间建立一对多的关联,那么BusinessGroup类应该有一组名片


不应该有类BusinessContact,因为BusinessContact表只是一个联接表,而不是一个实体。它的唯一用途是保持其他实体之间的关联,因此它完全由关联管理。

关于这一点,我有一个问题。请帮帮我。我在mysql中设计了数据库,并希望将其映射到hibernate hbm.xml文件。所有数据库表都映射到hibernate中否?如何映射数据库的联接表,以及如何用这种方式声明外键
<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>
<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>
<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>