O/R Mapping—Hibernate
---****
2008-12-20
Hibernate 基础
2
2
Agenda
•
一、持久化层- O/R Mapping
二、 Hibernate 入门
•
三、 Hibernate 映射申明
•
四、持久化对象的状态和生命周期
五、 Hibernate 查询
•
六、 Hibernate 最佳实践
Hibernate 基础
3
3
O/R Mapping -What? Why?
什么是 O/R Mapping?
对象 - 关系映射实现了 Java 应用中的对象到关系数据库中的
表的自动的(和透明的)持久化,使用元数据( meta data )
描述对象与数据库间的映射。
O/R Mapping 的优点
提高生产率( Productivity ) : 批量生产
可维护性( Maintainability ) :XML 文件维护
更好性能( Performance )
厂商独立性( Vendor independence ) : 底层无关性
Hibernate 基础
4
4
如何进行对象-关系数据库的匹配
public class User {
private String name;
private String password;
………
}
create table tbl_user (
name varchar(255) not null
,
password varchar(255),
……….
primary key (name)
)
对象 关系数据库
类的属性(基本
类型)
表的列
类 表
1:n/n:1 外键
n:m 关联表
继承 单表继承、具体表继承、
类表继承
Hibernate 基础
5
5
O/R 之间映射存在的问题
•
粒度( granularity ) 如何解决映射问题
•
子类型( subtypes ) 多态问题
•
同一性( identity ) 主键与对象唯一标示问题
•
关联( associations ) 外键与对象引用问题
•
对象结构导航 (navigation) 表连接与对象图关系问题