hibernate 笔记001---一对多,多对一,多对多,一对一关系汇总
来源:互联网 发布:淘宝爆款是什么 编辑:程序博客网 时间:2024/06/05 07:12
对应的表功能同上.说明中的主表指Customer,子表指CustomerDetails,中间表指CustomerBack
一对多
﹤set name="CustomerDetails"table="customer_details"inverse="false" cascade="all"sort="unsorted" ﹥
﹤key column="cust_Id"/﹥ ﹤one tomanyclass="com.hibernate.otm.CustomerDetails"/﹥ ﹤/set﹥
这段代码是需要放在一对多中的主表配置中的
name:集合属性的名称(也可以理解为一对多中那个子属性名)
table(可选,默认为属性的名称):集合表的名称(可理解为一对多中子表的名称)
inverse(可选,默认为false):标记这个集合作为双向关联关系中的方向的一端
cascade(可选:默认为none):让操作级联到子实体
sort(可选):指定集合的排序顺序
其它如schema,lazy,order–by,where,outer–join,batch–size,access请参照有关书籍.
key 中的column=”cust_Id”,cust_Id并不是主表的字段,而是子表中保存主表的字段.
如主表主键为cust_Id,子表中为了保存主表的主键,也建一个cust_Id,key里的cust_Id就是指子表中的cust_Id.
one–to–many 中的class为一对多的子表实例类.
多对一
﹤many to one
name="Customer"
class="Customer"
cascade="all"
outer join="false"
update="false"
insert="false"
column="cust_Id"
not null="true"/﹥
多对一
中,没有像一对多的,而是直接用了many–to–one.这段代码是需要放在多对一中的子表配置中的(即CustomerDetails的配置中)
outer–join:为外链接
update,insert:指定对应的字段是否在用于UPDATE和/或INSERT的SQL语句中包含.
column:关联的字段名.(多对主类对应的字段名)
not–null:是否为null.
多对多
﹤set name="CustomerBack" table="customer_back" cascade="all"﹥﹤keycolumn="cust_Id"/﹥ ﹤many to manyclass="CustomerDetails"column="custD_id"/﹥ ﹤/set﹥
多对多
的配置与一对多有点类似.这段代码放的位置也是与一对多的代码放的位置一样.
多对多
关系中,多采用中间表来关联两个有多多关系的表的.如Customer与CustomerDetails存在多对多的关系,那么往往是用另外一个表如CustomerBack表来保存它们的关系的,也就是中间表.
name:属性的名称(可理解为中间表的名称)
table:表的名称(可理解为中间表的表名称)
key里的cust_Id,是指中间表的cust_Id,为了保存Customer与CustomerDetails的关系,中间表中分别建了cust_Id(Customer的主键)与custD_Id(CustomerDetails的主键)
many–to–many中的Class是指多对多中的另一个实例化类,column是指CustomerDetails与中间表关联的字段名.这里是指中间表的
custD_Id,不能理解为CustomerDetails的主键.
一对一
﹤one to one name="CustomerDetails"class="CustomerDetails"cascade="all" /﹥
一对一
的关系更简单.
在Customer表的配置中放上这段代码就行了.
name:属性名称
class:关联的实例化类名
编辑推荐
层层解析Hibernate中的事务的滥用
详解Hibernate的工作原理和体系结构
十五道关于Hibernate的面试题
Hibernate、Spring和Struts工作原理及使用理由
关于Hibernate你必须知道的六个方面
- hibernate 笔记001---一对多,多对一,多对多,一对一关系汇总
- Hibernate一对多,多对一,多对多,一对一关系汇总
- Hibernate一对多,多对一,多对多,一对一关系汇总
- Hibernate关联关系映射 一对一 一对多 多对一
- Hibernate中的一对多,多对一,多对多,一对一关系
- Hibernate关联关系配置(一对多、一对一、多对一和多对多)
- hibernate一对一,一对多,多对一,多对多关系映射与级联
- hibernate关系映射管理(一对多,多对一,一对一,多对多)
- hibernate关系映射管理(一对多,多对一,一对一,多对多)
- Hibernate双向一对一,一对多,多对多关系映射
- Hibernate 关系映射 (一对一,一对多,多对多)
- hibernate关联关系配置(一对一,一对多,多对多)
- Hibernate关联关系配置(一对一,一对多,多对多)
- 3、Hibernate一对一、一对多、多对多对应关系
- 一对一,一对多,多对多,关系
- 关系:一对一、一对多,多对多。
- 【hibernate】多对一,一对多关系
- Hibernate映射关系之一对一 and 一对多 or 多对一
- CDatetimeCtrl的DTN_DATETIMECHANGE消息响应两次解决方法
- Oracle sqlldr导入数据使用默认值和提高性能的方法
- skills of PM
- 需求调研方向
- Android图形系统分析与移植 -- 三、内核空间显示功能介绍
- hibernate 笔记001---一对多,多对一,多对多,一对一关系汇总
- ORA-08002: sequence s%.CURRVAL is not yet defined in this session
- 使用Lucene的highlight包高亮显示检索关键字
- 引进Starling(二)
- GDB手册17:调试远程程序
- Sql server 2008 查询某个时间段被修改过的存储过程
- Android图形系统分析与移植 -- 四、Surface Manager(Surface Flinger简介)
- About Brightness
- 监听Android应用程序是否卸载成功