hibernate关联关系的整理

简介: hibernate关联关系的整理 1、关联关系映射的步骤 1.1关联关系的搭建 ---建表 ---建实体 1.2映射关联关系 1.3使用测试 2、映射关联关系 1:1                    双向                                           .

hibernate关联关系的整理

1、关联关系映射的步骤
1.1关联关系的搭建
---建表
---建实体
1.2映射关联关系
1.3使用测试
2、映射关联关系
1:1                    双向                                            单向
*主表方:
//关系属性                                        *主表方:
//mappedBy="映射着外键的 对方中的属性"                //关系属性
@OneToOne(mappedBy="person51")                        @OneToOne(mappedBy="person51")
private Passport passport51;                          @JoinColumn(name="person_id")//声明外键列是谁,自己维护外建
*从表方:                                                 private Passport passport51;
//关系属性                                        *从表方:
@OneToOne//声明关系                                 //无关系属性
@JoinColumn(name="person_id")//声明外键列是谁
private Person person51;

1:*                双向                            单向
*主表方:                            *主表方:
@OneToMany(mappedBy="user")          @OneToMany
*从表方                                 @JoinColumn(name="user_id")
@ManyToOne                        *从表方
@JoinColumn(name="user_id")          无关系属性

*    :*
//关系属性
@ManyToMany02
/*
* name=关系表名称
* joinColumns=关系表中,指向自己的外键
* inverseJoinColumns=关系表中,指向对方的外键
*/
@JoinTable(name="rel_s_c",
joinColumns={@JoinColumn(name="cour_id")},
inverseJoinColumns={@JoinColumn(name="stu_id")})
*关系双方的映射,一致(双向都映射,单向只需一方映射 无主次)。

3、注意事项:
3.1    1:1---删除时需要在对方解除关系(与方向无关) 从.get(主).set从(null)
---为主表添加从表维护关系 (与方向无关): 从表.setXXX(主表)//使得从表有外键来源
---级联保存双方维护关系(双向):  从表.setXXX(主表)  主表.serXXX(从表)
---级联保存双方维护关系(单向):  只需有外键的一方维护外键
1:*---删除时不需要维护外键
---单向和双向的区别  --为主表附加从表 维护关系  主.set从(从)   session.update(主);
--级联插入双方数据  维护关系   主.set从(从)
*:*---为一方附加另一方  另一方.set(一方)  session.save(另一方)
---在已存在的双方之间搭建关系  一方.set(另一方) session.update(一方)
---级联保存  只在一方维护关系  A.set(B)
---单独删除一方无级联权限
---级联删除:慎用=不用
3.2    当更新 映射了外键的一方时,对象不能是new 出来的 (new 出来的对象关系不完整,
会导致hibernate去数据库中置空外键)
4、级联:
查询级联默认,不受级联级别限制

//获取表格选择行
var rows = $('#test1').datagrid('getSelections');
console.log(rows);
//判断是否选择行
if (!rows || rows.length == 0) {
$.messager.alert('提示', '请选择要删除的数据!', 'info');
return;
}
var parm;
//循环给提交删除参数赋值(音乐风格编码)
$.each(rows, function (i, n) {
if (i == 0) {
parm = "ids" + n.id;
} else {
parm += "&ids=" + n.id;
}
});

$.messager.confirm('提示', '是否删除选中数据?', function (r) {
if (!r) {
return;
}
//提交
$.post('${pageContext.request.contextPath}/category/dropCategory', parm,
function (msg) {
if (msg.IsSuccess) {
$.messager.alert('提示', msg.Message, 'info', function () {
//重新加载当前页
$('#test').datagrid('reload');
});
} else {
$.messager.alert('提示', msg.Message, 'info')
}
});
});

}

原文地址http://www.bieryun.com/3170.html

相关文章
|
6月前
|
Java 数据库连接 测试技术
如何使用mybatis处理数据库关系中的多对一关系呢?
如何使用mybatis处理数据库关系中的多对一关系呢?
|
6月前
|
Java 数据库连接 测试技术
如何使用mybatis处理数据库关系中的一对多关系呢?
如何使用mybatis处理数据库关系中的一对多关系呢?
|
SQL 架构师 Java
SpringBoot从入门到精通(二十八) JPA 的实体映射关系,轻松一对一,一对多,多对多关系映射!
前面讲了Spring Boot 使用 JPA,实现JPA 的增、删、改、查的功能,同时也介绍了JPA的一些查询,自定义SQL查询等使用。JPA使用非常简单,功能非常强大的ORM框架,无需任何数据访问层和sql语句即可实现完整的数据操作方法。但是,之前都是介绍的单表的增删改查等操作,多表多实体的数据操作怎么实现呢?接下来聊一聊 JPA 的一对一,一对多,多对一,多对多等实体映射关系。
SpringBoot从入门到精通(二十八) JPA 的实体映射关系,轻松一对一,一对多,多对多关系映射!
|
11月前
|
SQL Java 数据库连接
MyBatis一对多映射关系的处理及分步查询的优点
MyBatis一对多映射关系的处理及分步查询的优点
109 0
|
SQL Java 数据库连接
Mybatis技术专题(2)如何清晰的解决出现「多对一模型」和「一对多模型」的问题
Mybatis技术专题(2)如何清晰的解决出现「多对一模型」和「一对多模型」的问题
113 0
|
SQL Java 数据库连接
【Mybatis技术专题】如何清晰的解决出现「多对一模型」和「一对多模型」的问题
【Mybatis技术专题】如何清晰的解决出现「多对一模型」和「一对多模型」的问题
72 0
|
Java 数据库连接 mybatis
【MyBatis】学习笔记15:通过分步查询解决一对多或多对多问题
【MyBatis】学习笔记15:通过分步查询解决一对多或多对多问题
206 0
【MyBatis】学习笔记15:通过分步查询解决一对多或多对多问题
|
缓存 Java 数据库连接
【SSM框架】Mybatis详解11(源码自取)之表关联关系
✨前言 上一节我们学习了入参、返回值map, 本节我们将复习表的关联关系,用一个小例子呈现。 和我一起复习下去你可以获得一个比较完美框架demo,并且深刻体会框架。 坚持到最后的源码解析你会收获更多哦,加油坚持!!!
【SSM框架】Mybatis详解11(源码自取)之表关联关系
|
SQL Java 数据库连接
学习MyBatis必知必会(8)~myBatis对象关系映射(多对一关系、一对多关系)、延迟/懒加载
学习MyBatis必知必会(8)~myBatis对象关系映射(多对一关系、一对多关系)、延迟/懒加载
152 0
学习MyBatis必知必会(8)~myBatis对象关系映射(多对一关系、一对多关系)、延迟/懒加载
|
SQL 机器学习/深度学习 Java
哪吒Java技能树--MyBaits学习笔记--关联和集合对应着多对一和一对多(“最易懂得MyBatis学习”)(下)
十一、一对多处理 1. 环境搭建 2. 按照结果嵌套处理 3. 按照查询嵌套处理 小结 面试高频
哪吒Java技能树--MyBaits学习笔记--关联和集合对应着多对一和一对多(“最易懂得MyBatis学习”)(下)