zoukankan      html  css  js  c++  java
  • Hibernate 映射多对多关联关系

    映射多对多,需要建立一张中间表

    一共三张表,一个是 Category,一个是 Item,还有一个是 Categories_Items

    Categories_Items 作为中间表,其包含两个列,分别对应 CategoriyId 和 ItemId

    下面附上代码:

      

    <hibernate-mapping package="hibernate.many2many">
        <class name="Category" table="CATEGORIES">
            <id name="id" type="java.lang.Integer">
                <column name="ID" />
                <generator class="native" />
            </id>
            <property name="categoryName" type="java.lang.String">
                <column name="CATEGORY_NAME" />
            </property>
            <!-- 
                table 指定了中间表
                在双向多对多映射中, 必须有一个类要设置 inverse=true, 因为如果两个表同时来维护关系的话, 可能会造成主键的冲突
             -->
            <set name="items" table="CATEGORIES_ITEMS" inverse="false">
                <!-- key items 使用什么当做key, 通过 column 指定了使用中间表中的 C_ID 这一列 -->
                <key>
                    <column name="C_ID" />
                </key>
                <!-- 通过 many-to-many 来创建多对多的映射, 其中 column 用来指定对方通过那一列的值来索引 -->
                <many-to-many class="Item" column="I_ID"></many-to-many>
            </set>
        </class>
    </hibernate-mapping>
    View Code
  • 相关阅读:
    二叉堆(最小堆, 最大堆)介绍与实现
    C++ 用变量定义数组
    C++ 用变量定义数组
    053185
    053184
    053183
    053182
    053181
    053180
    oracle prior
  • 原文地址:https://www.cnblogs.com/zyx1301691180/p/7703934.html
Copyright © 2011-2022 走看看