没有合适的资源?快使用搜索试试~ 我知道了~
hibernate笔记学习笔记 主要内用 :对象持久化,映射,对象状态管理HQL,批处理,级联操作
资源推荐
资源详情
资源评论
Hibernate 笔记
郭大喜
2009-6-19
2
文件修改控制
修改记录编号
修改内容
修改人
修改日期
v0.01/1
加入代码和注意样式,进行版本控制
郭大喜
2009-6-19
[附加说明]
“修改记录编号”的填写内容为:本次修改后的版本号+“/”+流水号,例如:V1.01/1。
一次修改可以修改文档的多个位置,流水号为对该版本修改的流水号。当版本变时,流水号归为 1。
3
1、对象持久化 ................................................................................................................................................................ 4
(
1
)概述
.................................................................................................................................................................... 4
(
2
)体系结构
............................................................................................................................................................ 4
(
2
)开发步骤
............................................................................................................................................................ 5
(
3
)配置文件介绍
.................................................................................................................................................... 6
实例: ......................................................................................................................................................................................... 7
(
4
)
ID
生成策略
........................................................................................................................................................ 7
assigned ....................................................................................................................................................................................... 7
序列 sequence,适用于 Oracle .................................................................................................................................................. 8
自增列,适用于 SQLServer ........................................................................................................................................................ 8
根据底层数据库指定生成方法 .................................................................................................................................................. 8
高低位算法 ................................................................................................................................................................................. 8
seqhilo ......................................................................................................................................................................................... 8
uuid.hex ....................................................................................................................................................................................... 8
(
5
)值类型
................................................................................................................................................................ 8
(
6
)
HQL
介绍
............................................................................................................................................................ 9
2、映射 ............................................................................................................................................................................ 9
2.1
分类
........................................................................................................................................................................ 9
2.2
基数关系映射
...................................................................................................................................................... 10
2.2.1 一对一 ............................................................................................................................................................................. 10
2.2.1.1 一对一的外键映射实现 ........................................................................................................................................... 10
2.2.1.2 一对一的主键映射实现 ........................................................................................................................................... 12
2.2.2 一对多 .............................................................................................................................................................................. 13
描述: ................................................................................................................................................................................... 13
建表语句: ........................................................................................................................................................................... 13
实体代码: ........................................................................................................................................................................... 14
映射文件: ........................................................................................................................................................................... 15
2.2.3 多对多 .............................................................................................................................................................................. 15
描述....................................................................................................................................................................................... 15
建表语句 ............................................................................................................................................................................... 16
实体代码 ............................................................................................................................................................................... 17
映射文件 ............................................................................................................................................................................... 17
2.3
继承关系映射
..................................................................................................................................................... 18
2.3.1 整体描述: ...................................................................................................................................................................... 18
2.3.1.1 一个类一个表 ........................................................................................................................................................... 19
2.3.1.2 一个实体类一个表 ................................................................................................................................................... 19
2.3.1.2 所有类放在一个表中 ............................................................................................................................................... 19
2.3.1.3 选择的原则: ........................................................................................................................................................... 19
2.3.2 映射配置文件 .................................................................................................................................................................. 20
一个类一个表 ....................................................................................................................................................................... 20
一个实体类一个表 ............................................................................................................................................................... 21
所有类在一个表 ................................................................................................................................................................... 21
2.4
组件映射
............................................................................................................................................................. 21
2.4.1 单个组件映射 .................................................................................................................................................................. 21
2.4.2 组件集合映射 .................................................................................................................................................................. 22
2.5
集合关系映射
..................................................................................................................................................... 22
Set 无顺序、不重复 ................................................................................................................................................................ 22
List 有顺序,允许重复 ............................................................................................................................................................. 23
Bag 无顺序、可重复,Java 中可用 List 来模拟,去顺序 OK ............................................................................................... 23
Map ............................................................................................................................................................................................ 23
3、对象状态管理 .......................................................................................................................................................... 23
4、级联操作: .............................................................................................................................................................. 25
5、并发控制 .................................................................................................................................................................. 25
5.1
悲观锁
.................................................................................................................................................................. 25
5.2
乐观锁
.................................................................................................................................................................. 26
6、SESSION 实际应用 ...................................................................................................................................................... 26
7、HQL 语句 .................................................................................................................................................................. 27
4
主要内容:
(1)对象持久化
(2)映射
(3)对象状态管理
(4)HQL
(5)其它:批处理、级联操作等
1、对象持久化
(1)概述
对象持久化,将内存中的对象保存在外部永久的存储介质中(数据库);在适当的时候,还可以将持久
设备中数据恢复成对象。
Hibernate 是一种 OR/M(object relation mapping)对象关系映射工具,是一个可以自动的根据 xml 完成
对象关系映射,并持久化到数据库的开源组件,是对 JDBC 的封装,主要负责 java 对象的持久化.。
对象序列化适应临时的少量的对象备份。
对象持久化和关系型数据库联合在一起,适应大量的对象持久存储。
(2)体系结构
POJO:Persistent Object
hibernate.cfg.xml 一个应用一个
xxx.hbm.xml 要持久的对象对应一个
Configuration
XML 配置文件
session 相 当 于 JDBC 中的
connection / statement
session 是轻量级,线程不安全
的,原则一个事务一个 session
5
(2)开发步骤
类库 DTD 模板
①写持久对象 POJO
POJO 要注意:
OID:Long
POJO 要有无参构造方法
要有 set get 方法
②写映像文件
类和类之间用 class
属性和属性间用 property
生成器 generator
③写测试代码
1)根据 Configuration 读配置文件和映射文件,得到 SessionFactory
使用 Configuration 对象的 buildSessionFactory()方法创建 SessionFactory 对象
2) 根据 SessionFactory 得到 Session
使用 SessionFactory 对象 openSession()方法创建 Session 对象。
3)使用 Session 的相应方法来操作数据库,将对象信息持久化到数据库。
Configuration 类 读 XML 只读一次
SessionFactory 接口 工厂
重量级,线程安全的,一个就行
Transation 接口 事务对象
Query 接口 查询结果
Session(核心 API)
轻量级,线程不安全的
1、 一个线程一个 session
2、 一个 session 一个事务
制造
session
辅助
功能
1、DB 操作
2、事务
3、持久对象
状态管理
Application
应用
Hibernate
API
JDBC
O
R
映射文件
hibernate.cfg.xml
xxx.hbm.xml
程序员
剩余26页未读,继续阅读
资源评论
yhslaoyi
- 粉丝: 3
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功