zoukankan      html  css  js  c++  java
  • hibernate关联关系

    双向关联

             Inverse是双向关联的基本概念。对于多数是实体,一般不用双向关联,而是采用一对多的关联,many-to-one不存在inverse属性。其他默认值inverse=”false”

    多方配置

    一方配置

    <set>元素包括以下属性。

    name:设定待映射的持久化类的属性名,这里为 Team类的 monkeys属性。

    cascade:当取值为“save-update”,表示级联保存和更新。

    <set>元素还包含两个子元素:<key>和<one-to-many>。<one-to-many>元素设定所关联的持久化类,此处为 Monkey 类,<key>元素设定与所关联的持久化类对应的表的外键,此处为 MONKEYS表的 TEAM_ID字段。

    Hibernate根据以上映射代码获得以下信息。

    <set>元素表明 Team类的 monkeys属性为 java.uitl.Set集合类型。

    <one-to-many>子元素表明 monkeys集合中存放的是一组 Monkey对象。

    <key>子元素表明 MONKEYS表通过外键 TEAM_ID参照 TEAMS表。

    cascade 属性取值为“save-update”,表明当保存或更新 Team 对象时,会级联保存或更新 monkeys集合中的所有 Monkey对象。

    1. 设置inverse=”true”表示Member不在作为主控方,就是说不再由Member来维持关联关系,
    2. 而有Order方来维持关联关系,这样Order在持久化的时候会主动去获取Member的主键值来作为自己
    3. 的外键值。在one-to-manay关联关系中,一般将manay端设置为主控方(inverse=”false”),
    4. 这样将有助于改善性能。默认情况下inverse=”false”

    测试

  • 相关阅读:
    mySQL 重点
    JS代码预解析原理、函数相关、面向对象
    PHP中对数组进行操作的常用函数总结
    js函数和数组总结
    深入理解css网页布局细节
    AngularJS表单验证
    发送消息 缺少 更新的字段值
    springboot 下 logback + MDC的使用
    Mock的使用2
    StringUtils # split 的坑
  • 原文地址:https://www.cnblogs.com/ztca/p/8136715.html
Copyright © 2011-2022 走看看