From Gossip@caterpillar

开源框架:Hibernate Gossip

冬眠。。呼。。。Hibernate 是“物件/关系对应”(Object/Relational Mapping)的解决方案,简写为ORM,简单的说就是将 Java 中的物件与物件关系,映射至关联式资料库中的表格与表格之间的关系, Hibernate 提供了这个过程中自动对应转换的方案。

2001年未 Hibernate 第一个版本发表,2003年6月8日 Hibernate 2 发表,并于年未获得 Jolt 2004 大奖,后被 JBOSS 收纳而成为其子项目之一,2005年3月 Hibernate 3 正式发表,当中有了一些重大的改变,这份文件将以之前 Hibernate 2 时撰写的 文 件 为基础,针对 Hibernate 3作重新整理的动作,所使用的版本为Hibernate 3.2。



基础入门
        从一个最基本的物件关系映射自动化程式,了解 Hibernate 组成的基本元素,并进一步了解 Hibernate 的基础语义、配置等概念。
  • O/R 映射入门
        第一个 Hibernate 程式很简单,将一个物件映射至一个资料表。
        了解一下配置文件、映射文件中各种元素的意义,在进入物件关系映射的学习之前,这是必备的基本功夫。
        了解一下Session的作用,从中学习到实体物件的生命周期与资料识别。
  • Validatable、Lifecycle、Interceptor
        分别透过这三个介面,来进行资料验证、于 CRUD(Create Retrieve Update Delete)作对应动作、拦截动作。

资料查询
        您可以使用Criteria物 件,以物件导向模型的方式查询资料,或使用Hibernate推荐的HQL,必要时也可以自订SQL语法。
        这是 Hibernate 官方所推荐的查询语言,接近 SQL 的语法,并提供更多的特性与封装。
        Hibernate 提供了对 SQL 的支援,并可以自行定义持久化方式。


物件关联映射(Object/Relational Mapping, ORM)
        学习 Hibernate,大部份的时间都在了解如何实现映射,而从中您也可以了解到不少关联式资料库的表格设计方式。
  • 实体映射
        来看看一些进阶的实体映射议题。
       Hibernate 3引入了动态模型设定,适时的使用或混用,可以增加程式设计时的弹性。
        在物件导向设计中,继承关系是很常见的,但继承与关联式资料库有着先天上的差异,继承关系至表格的设计上有几种方式。
        实体物件中包括多个值类型物件(value type object)时,需要另一个集合表格(collection table)来与之对应。
        来看看实体与实体之间的多对一、一对多、一对一、多对多如何与Java物件之间进行映射。

效能
  • 快取
        一级快取是在Session层次实作,二级快取可以跨越 Session 生命周期,Hibernate 透过第三方来实现二级快取,这边也来看看 Query 的快取。

交易
  • 交易入门
  • 并行控制
        对于交易的隔离层级(Isolation Level),Hibernate 透过两种 Locking 机制来保证资料在操作过程中不会被干扰。

Hibernate Annotations 与 EntityManager
Hibernate实作了JPA规格,Hibernate Annotations与Hibernate EntityManager提供了与JPA/EJB3的相容性。

Hibernate Tool
        透过一些Hibernate Tool来自动从映射文件生成资料库表格,或从资料表反向生成映射文件或POJO。

附录