Hibernate第三章
来源:互联网 发布:excel解密码软件 编辑:程序博客网 时间:2024/05/01 04:51
数据库三种映射
一对一:一个人对应一个身份证号
一对多:一个老师对应多个学生
多对多:学生表和课程表
Hibernate 持久类的关联关系
员工和部门:多对一关系
员工类(多的一方增加一的一方的对象)中增加部门对象
部门类(少的一方增加多的一方的集合)中增加员工List
多的一方为集合,初始化到少的一方,少的一方中的配置文件中加节点
少的一方为对象,初始化到多的一方,多的一方中的配置文件中加节点<many-to-one>
一对多都可以双向
掌握一发Eclipse快捷键:ctrl+shift+x 转为大写、ctrl+shift+y 转为小写
配置 Emp 到 Dept 的多对一关联
Emp 持久化类public class Emp implements Serializable { …… private Dept dept; // 省略其他属性及getter、setter访问器}
Emp.hbm.xml<class name="cn.hibernatedemo.entity.Emp" table="`EMP`"> ...... <!-- name 一的一方的对象名 class 对象所对应的全类名 column 数据库的外键列名 cascade 级联操作 --> <many-to-one name="dept" class="com.cfn.entity.Dept" column="deptno" cascade="save-update"></many-to-one>o.entity.Dept" /></class>
//一的一方private Set<Street> set = new HashSet<Street>();
//多的一方不写外键 实体类在<set>标签中配置cascade属性Inverse:只能在集合<Set>标签中设置设为:true 由many方控制//比如说删除部门下面的所有员工inverse属性指定了关联关系中的方向inverse设置为false,则为主动方,由主动方负责维护关联关系,默认是false inverse设置为true,不负责维护关联关系1. 在建立两个对象的双向关联时,应该同时修改两个关联对象的相关属性2. 建议inverse设置为true
Cascade:需要级联操作的地方,都可以配置该属性
Fetch 抓取策略
fetch = “select” lazy = “false”
不采用延迟策略,不使用关联信息也会查询出来;
fetch = “select” lazy = “true”
采用延迟策略,不会查询出来关联信息,使用的时候才会查询
fetch = “join” lazy = “false” 产生关联查询
HQL的连接查询
左外链接 :from之后的先
右外链接:join之后的先
内连接:关联可以放到where语句中
阅读全文
0 0
- Hibernate第三章
- hibernate第三章:HQL查询1
- Hibernate 第三讲 Hibernate 日志
- Hibernate 第三课
- Hibernate第三阶段
- 第三章 通过MyEclipse来开发Hibernate项目
- Hibernate学习笔记 第三章 高级映射关系
- JAVA学习笔记09——Hibernate框架第三章
- Hibernate第三章知识点总结——第三章--实体关联关系映射
- hibernate+jsp分页第三版
- Hibernate 学习笔记第三篇
- Hibernate第三方缓存实现
- 第三章第三题
- 第三章第三题
- 第三章第三题
- Hibernate A Developers Notebook第三章的hsqldb的数据库建模问题
- [原创]Pro Hibernate 3笔记和小结(7)之第三章创建简单应用
- [原创]Pro Hibernate 3笔记和小结(8)之第三章创建简单应用
- Linux文本处理:从不规则列/非固定列中截取关键字-方法2
- Windows Server 2012 R2多用户远程连接配置步骤
- jq 先执行完一个函数再执行其他函数
- maven报错Dynamic project 3.0 need jdk1.6 or newer
- 英语可要好好学哦
- Hibernate第三章
- golang 交叉编译
- 求图像的周长
- 拉格朗日乘子法入门
- Android---被弃用的Gallery控件+ImageSwitcher控件基础
- 弱校胡策 POJ2709 Painter(贪心)
- Indri的使用
- JFrame窗体学习实例
- MySQL 学习教程(一)【整理】-数据库概要