zoukankan      html  css  js  c++  java
  • hibernate关联映射

    1、单项多对一关联

      1.1、实体关联关系

        1.1.1、关联关系

          (通过一个对象持有另一个对象的实例)

        1.1.2、泛化关系

          (通过对象之间的继承方法来实现)

       1.2、类与类之间最普遍的关系就是关联关系

        (在UML语言中,关联是有方向的)

    2、单向一对多

    3、双向一对多

    4、cascade和inverse

      4.1、cascade属性

        4.1.1、当设置cascade属性不为none时,hibernate会自动持久化所关联的对象

        4.1.2、cascade属性的设置会带来性能生的变动,需谨慎设置

      4.2、属性值

        4.2.1、属性值      含义和作用

            all        对所有操作进行级联操作

            save-update   执行保存和更新操作时进行级联操作

            delete      执行删除操作时进行级联操作

            none        对所有操作不进行级联操作

      4.3、inverse属性

        4.3.1、术语"inverse"直译为“反转”

        4.3.2、在hibernate中,inverse属性指定了管理关系中的方向

        4.3.3、关联关系中,inverse="false"的为主动方,由主动方负责维护关联关系

        4.3.4、在一对多关联中,将one方的inverse设置为true,这将有助性能的改善

      4.4、cascade和inverse的区别

        4.4.1、inverse指的是关联关系的控制方向,而cascade指的是层级之间的连锁操作

    5、多对多关

    6、本阶段总结

      对象间关联分为一对多、多对一和多对多几种情况,关联是有方向的

      hibernate通过配置的方式,将对象间的关系映射到数据库上,使用hibernate关联关系,首先要做好配置

      <Set>节点的inverse属性描述了由谁负责关联关系映射到数据库上,cascade属性描述了级联操作规则

      配置多对多关联式,<set>节点要通过table属性指定关联表的表名,其下<key>子节点的column属性为关联表中关联到自己的字段名

  • 相关阅读:
    对象遍历 for in ,数组遍历for in 与 for of 的区别
    计算一个数组中key值相同的数量
    VUE的两种跳转push和replace对比区别
    微信公众号二次分享ios分享失败问题
    获得对象中的键或值
    第一个table根据checkbox选择tr,在另一个table中显示对应索引的tr(jq遍历的运用)
    checkbox 全选反选 获得所有的checkbox
    为什么jQuery要return this.each()?
    用jq代码写出一个轮播图。
    页面滚动到一定位置,两个div 朝中间运动。
  • 原文地址:https://www.cnblogs.com/lanliying/p/3178331.html
Copyright © 2011-2022 走看看