• hibernate多表关联(<hibernate-mapping>)的配置


    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

    <hibernate-mapping package="com.zr.bimany2many.xml">
    <!-- Tester类对应testers表 -->
    <class name = "Tester" table = "testers">
    <!-- testers表的主键 -->
    <id name="id" column="id">
    <!-- 主键生成策略 -->
    <generator class="sequence">
    <!-- 数据库中序列的名字 -->
    <param name="sequence">testers_id_seq</param>
    </generator>
    </id>
    <!-- 普通字段的映射 -->
    <property name = "name"></property>
    <!-- 测试人员到测试项目的多对多关联-->
    <!-- 定义关联表 -->
    <!-- table定义关联表的表名 -->
    <!-- cascade:关联同步 -->
    <set name="projects" table="testers_projects" cascade="save-update">
    <!-- 我(测试人员)在关联表中的外键 -->
    <key column="testers_id"></key>
    <!-- 多对多关联的另一方(测试项目) -->
    <many-to-many class="Project" column="projects_id"></many-to-many>
    </set>
    </class>
    <!-- ================================================================================================== -->
    <!-- Project类对应projects表 -->
    <class name = "Project" table="projects">
    <!-- projects表的主键 -->
    <id name="id" column="id">
    <!-- 主键生成策略 -->
    <generator class="sequence">
    <param name="sequence">projects_id_seq</param>
    </generator>
    </id>
    <!-- 普通字段的映射 -->
    <property name = "name"></property>
    <!-- 测试项目到测试人员的多对多关联-->
    <!-- inverse同步数据控制权的反转 -->
    <!-- 单向关联中,不需要管inverse了,默认="false" -->
    <!-- 双向一对多关联中,在"一"(相对于多方)方设置 inverse="true"-->
    <!-- 在双向多对多关联中,在任何一方设置 inverse=true-->
    <!-- Tester中关联对象属性的名字testers -->
    <set name = "testers" table="testers_projects" inverse="true">
    <!-- 说明关联的外键 -->
    <key column="projects_id"></key>
    <!-- 说明与谁有多对多的关联 -->
    <many-to-many class="Tester" column="testers_id"/>
    </set>
    </class>

    </hibernate-mapping>

  • 相关阅读:
    postgres 常见错误之字段关联不明确
    nginx proxy_pass 配置
    css font-family有哪些
    Inno Setup [Run] Section 双引号嵌套
    ubuntu16.04下ftp服务器的安装与配置
    How to check if directory exist using C++ and winAPI
    Ubuntu parted 命令 写在脚本里时要带 -s 参数
    Ubuntu syslog 太多的 named[1195]: error (network unreachable) resolving './DNSKEY/IN': 2001:7fd::1#53
    Ubuntu忘记超级用户root密码,重新设置密码 转载
    Python 替换文本中的某些词语
  • 原文地址:https://www.cnblogs.com/xiaweicn/p/8848428.html
Copyright © 2020-2023  润新知