hibernate 一对多关系映射 笔记
来源:互联网 发布:网络还原精灵 编辑:程序博客网 时间:2024/06/04 18:07
hibernate 一对多关系映射(单向classes--->student)
一对多映射原理,利用了多对一映射原理
多对一映射原理:在多的一端加入一个外键指向一的一端,它维护的关系多指向一
一对多映射原理,在多的一端加入一个外键指向一的一端,她维护的关系是一指向多
也就是说一对多与多对一的映射原理是一样的,只是站的角度不一样
在一的一端维护的缺点:
* 如果将student表里的classesid设为非空,则无法保存;
* 因为不是在student端维护数据,所以student端不知道学生是哪个班的
* 所以需要发出多余的update语句来更新关系;
hibernate 一对多关系映射(双向classes<--->student)
一对多双向关联映:
* 在一的一端的集合上使用<key>,在对方表中加入一个外键指向一的一端;
* 在多一端采用<many-to-one>
注意:key标签指定的外键字段必须和<many-to-one>指定的外键字段一致,否则引用字段错误;
如果在一的一端维护一对多关联关系,hibernate会发出多余的Update语句,多以我们一般在多的一端维护关联关系
关于inverse属性;
inverse主要用在一对多,多对对双向关联上,inverse可以设置到<set>集合上,
默认inverse为false,所以我们可以从一的一端和多的一端来维护关联关系,
如果inverse为true,我们只能从多的一端来维护关联关系,
注意:inverse属性,只影响存储(使存储方向转变),即持久化,
inverse和cascade
* inverse(反转)是关联关系的控制方向
* cascade(级联)操作上的连锁反映
xxx.hbm.xml文件设置
<class name="com.gzbb.hibernate.student.Classes">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="student" inverse="true" cascade="all">
<key column="classesid"/>
<one-to-many class="com.gzbb.hibernate.student.Student"/>
</set>
</class>
<class name="com.gzbb.hibernate.student.Student">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<many-to-one name="classes" column="classesid"/>
</class>
- hibernate 一对多关系映射 笔记
- Hibernate 一对多关系映射
- hibernate一对多关系映射
- Hibernate一对多关系映射
- Hibernate映射一对多关系
- Hibernate一对多关系映射
- Hibernate关系映射一对多
- hibernate一对多关系映射
- Hibernate笔记=>一对多关系的映射
- Hibernate学习笔记 -- day08 注解含义、一对多关系映射
- Hibernate中一对多的映射关系
- Hibernate 映射一对多关联关系
- hibernate一对多关系映射(自身关联)
- hibernate之映射关系一对多
- hibernate 一对多 关系关联映射
- hibernate中一对多关系的映射
- hibernate映射一对多双向关联关系
- Hibernate映射一对多关系【inverse】
- 守护企业网关
- 给多少钱就干多少活
- 简单绘图类
- 10.10
- 首个国家级企业移动信息化标准正式启动
- hibernate 一对多关系映射 笔记
- KTDictSeg V1.4.01 新增功能说明及下载地址
- 字符串前部去除自定义函数(T-SQL)
- 我从开始就烦一直到现在还在继续
- 适用才是王道 浅议企业如何合理选择CRM软件
- 手机电视借力奥运
- 守护企业网关
- 首个国家级企业移动信息化标准正式启动
- 四大顽疾阻碍CRM应用 标准化作业纸上谈兵