Hibernate学习笔记之四

来源:互联网 发布:java开发windows软件 编辑:程序博客网 时间:2024/05/16 05:07

Hibernate学习笔记之四

映射类型

  • 一对多
  • 多对一
  • 一对一
  • 多对多

单向一对多映射
在数据库中,通过添加主外键的关联,表现一对多的关系
在java中,通过在一方持有多方的集合实现,即在“一”的一段使用< set >元素表示持有“多”的一端的对象。

<!--配置单向的一对多关联关系--><!--在映射类中,添加set(或者list)集合持有关联类的对象--><!--在映射类的hbm.xml文件中进行配置><set name="映射类属性名称" table name="关联类的目标数据库表">    <!--指定关联的外键列-->    <key="外键列名">    <one-to-many class="关联类"></set>

set元素常用属性
这里写图片描述

单向多对一关联

  • 多对一的关系和关系数据库中的外键参照关系最匹配,即在己方的一个表中的外键参照另一个表中的主键。
  • 通过在多方持有一方的引用实现,在“多”的一端使用< many-to-one >配置

在多方定义一个一方的引用

<!--配置单向多对一关联关系--><!--在多方的持久化类中定义一个一方的引用--><many-to-one name="一方引用对应的属性" class="一方对应的持久化类" column="外键列名"></many-to-one>

双向多对一的实现
分别使用< many-to-one >和< set >实现单向的多对一,使用< one-to-many >实现单向的一对多即可

inverse属性(反转)
< set >节点的属性,指定关联关系的控制方向,默认由one方维护(默认inuerse=false)设置为true,有many方维护。

cascade属性(级联)
cascade不为none时,Hibernate会自动持久化所关联的对象。
cascade属性设置会带来性能上的改变,需谨慎设置
这里写图片描述

0 0
原创粉丝点击