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属性为关联表中关联到自己的字段名

 

 

你可能感兴趣的:(Hibernate)