Hibernate
是“物件/关系对应”(Object/Relational
Mapping)的解决方案,简写为ORM,简单的说就是将 Java 中的物件与物件关系,映射至关联式资料库中的表格与表格之间的关系,
Hibernate 提供了这个过程中自动对应转换的方案。
第一个 Hibernate 程式很简单,将一个物件映射至一个资料表。
了解一下配置文件、映射文件中各种元素的意义,在进入物件关系映射的学习之前,这是必备的基本功夫。
了解一下Session的作用,从中学习到实体物件的生命周期与资料识别。
分别透过这三个介面,来进行资料验证、于 CRUD(Create Retrieve Update
Delete)作对应动作、拦截动作。
这是 Hibernate 官方所推荐的查询语言,接近 SQL 的语法,并提供更多的特性与封装。
Hibernate 提供了对 SQL 的支援,并可以自行定义持久化方式。
来看看一些进阶的实体映射议题。
Hibernate
3引入了动态模型设定,适时的使用或混用,可以增加程式设计时的弹性。
在物件导向设计中,继承关系是很常见的,但继承与关联式资料库有着先天上的差异,继承关系至表格的设计上有几种方式。
实体物件中包括多个值类型物件(value type
object)时,需要另一个集合表格(collection table)来与之对应。
来看看实体与实体之间的多对一、一对多、一对一、多对多如何与Java物件之间进行映射。
一级快取是在Session层次实作,二级快取可以跨越 Session 生命周期,Hibernate
透过第三方来实现二级快取,这边也来看看 Query 的快取。
对于交易的隔离层级(Isolation Level),Hibernate 透过两种 Locking
机制来保证资料在操作过程中不会被干扰。
|