1、Hibernate介绍
1)Why Use Hibernate?
a)帮我们写Sql;帮我们装配对象
b)关联处理
c)性能 缓存、延迟加载、批量提交
2)ORM Object-Relation Mapping
a)EJB 2 EntityBean
b)EJB 3 -- JPA - Entity Bean
c)iBatis sql-xml
2、Hibernate基础(HelloWorld)
1)基本:配置文件、映射文件
2)User
3)核心API——Session
CRUD
4)映射类型——Hibernate数据类型 年月日 年月日+时分秒
interger/string/boolean/double/big_decimal/date/timestamp
5)主键映射——主键的生成方式
identity(MySqL, SqlServer)
sequence(Oracle)
native--智能判断(identity|sequence)
3 、关联映射 —— ManyToOne
理解方法:目标+直解
Key(主外键)
4、持久化对象(Persistence Object)
被Hibernate管理的(CMO-容器管理对象)Container Manage Object,代表数据库管理数据
被Hibernate缓存的对象
如何成为PO?
调用Hibernate(session的方法)调用
对象的三种状态:
瞬态对象--普通对象
持久态对象--持久化对象
游离态对象--被Hibernate放弃的对象 session.evict();
5、
多对一
一对多
双向关联
Order--Item
cascade: none | save-update | delete | all |
delete-orphan | all-delete-orphan
一对一
1)主键关联:通过id关联
User(id)--Passport(id)
2)唯一外键关联
外键-->一对多(把“多”变成“一”)
Person--Address(person_id)
多对多
Group--Role
关系表(中间表)
6、
1、组合映射(Component)
Foreigner--Name
t_foreigner(first_name,middle_name,last_name)
Name <--first_name,middle_name,last_name
2、继承映射
Product(id, name)
Book(id,pageNumber)
DVD(id,region)
1)每个类一张表
t_Product(id, name)
t_Book(id,pageNumber)
t_DVD(id,region)
2)每个具体类(最终类)一张表
t_book(id,name,pageNumber)
t_dvd(id,name,region)
3)每个继承层次一张表(所有的相关类一张表)
t_product(id,name,pageNumber,region)
Hibernate重构步骤
1、DAO重构:用DAO(Data Access Object)封装JDBC
表现层(页面)
业务层(action)
数据层(DAO)
2、Hibernate取代JDBC
映射文件、API(Session)
Hibernate初学
最新推荐文章于 2024-08-25 21:18:14 发布