Hibernate学习笔记

Hibernate 是「物件/�P�S���」(Object/Relational Mapping)的解�Q方案,�����ORM,��蔚恼f就是�� Java 中的物件�c物件�P�S,映射至�P�式�Y料�熘械谋砀衽c表格之�g的�P�S, Hibernate 提供了�@���^程中自�����D�Q的方案。

2001年未 Hibernate 第一��版本�l表,2003年6月8日 Hibernate 2 �l表,�K於年未�@得 Jolt 2004 大��,後被 JBOSS 收�{而成�槠渥禹�目之一,2005年3月 Hibernate 3 正式�l表,��中有了一些重大的改�,�@份文件�⒁灾�前 Hibernate 2 �r撰��的 文 件 �榛��A,��� Hibernate 3作重新整理的�幼鳎�所使用的版本��Hibernate 3.2。

基�A入�T
        �囊��最基本的物件�P�S映射自�踊�程式,�t解 Hibernate �M成的基本元素,�K�M一步�t解 Hibernate 的基�A�Z�x、配置等概念。
  • O/R 映射入�T
        第一�� Hibernate 程式很��危��⒁��物件映射至一���Y料表。
    • 配 置 Hibernate
    • 第 一�� Hibernate
    • 第 二�� Hibernate
  • 基本配置
        �t解一下配置文件、映射文件中各�N元素的意�x,在�M入物件�P�S映射的�W�之前,�@是必�涞幕�本功夫。
    • 配 置文件
    • �Y 料�爝B�Y
    • 映 射文件
    • ��作命名策略
  • �� Session 到���w物件
        �t解一下Session的作用,�闹�W�到���w物件的生命�L期�c�Y料�R�e。
    • Session
    • Session 管理
    • �� �w物件生命�L期
    • �Y 料�R�e(Data Identity)
  • Validatable、Lifecycle、Interceptor
        分�e透�^�@三��介面,�磉M行�Y料��C、於 CRUD(Create Retrieve Update Delete)作����幼鳌�r截�幼鳌�
    • Lifecycle 介面、Validatable 介面
    • Interceptor 介面

�Y料查�
        您可以使用Criteria物 件,以物件��向模型的方式查��Y料,或使用Hibernate推�]的HQL,必要�r也可以自�SQL�Z法。
  • Criteria 查�
    • Criteria 基本查�
    • Criteria �M�A查�
    • DetchedCriteria
  • HQL(Hibernate Query Language)
        �@是 Hibernate 官方所推�]的查��Z言,接近 SQL 的�Z法,�K提供更多的特性�c封�b。
    • Query
    • 基 本查�
    • where、 group by、order by 子句
    • 更 新、�h除
  • SQL 支援
        Hibernate 提供了�� SQL 的支援,�K可以自行定�x持久化方式。
    • 建立 SQL 查�
    • 自定�x insert、update、delete


物件�P�映射(Object/Relational Mapping, ORM)
        �W� Hibernate,大部份的�r�g都在�t解如何���F映射,而�闹心�也可以�t解到不少�P�式�Y料�斓谋砀裨O�方式。
  • ���w映射
        �砜纯匆恍┻M�A的���w映射�h�}。
    • �} 合主�I(一)
    • �} 合主�I(二)
    • Blob、 Clob
    • Blob、 Clob - Oracle 9i
    • Component 
  • ��B映射
       Hibernate 3引入了��B模型�O定,�m�r的使用或混用,可以增加程式�O��r的��性。
    • �� �B模型(Dynamic Model)
    • 混 用�o�B模型�c��B模型
    • 使 用一����e映射多��表格
  • �^承映射
        在物件��向�O�中,�^承�P�S是很常�的,但�^承�c�P�式�Y料�煊兄�先天上的差��,�^承�P�S至表格的�O�上有�追N方式。
    • �^ 承 - Table per concrete class with implicit polymorphism
    • �^ 承 - Table per concrete class with unions
    • �^ 承 - Table per class hierarchy
    • �^承 - Table per  subclass
    • �^ 承 - 混合模式
  • 集合(collection)映射
        ���w物件中包括多��值�型物件(value type object)�r,需要另一��集合表格(collection table)�砼c之���。
    • Set
    • Bag
    • List
    • Map
    • 集 合的排序
    • �群� Component 的集合
  • �P�S映射
        �砜纯���w�c���w之�g的多�σ弧⒁�Χ唷⒁�σ弧⒍�Χ嗳绾闻cJava物件之�g�M行映射。
    • 多 �σ�
    • 一 �Χ�
    • 一 �σ唬ㄎㄒ煌怄I�P�)
    • 一 �σ唬ㄖ麈I�P�)
    • 多 �Χ�

效能
  • 映射�O定
    • cascade 的意�x
    • �p向�P�(inverse 的意�x)
    • Persistence Context
    • 延 �t初始(Lazy Initialization)
    • �� �B SQL �a生
    • Immutable ���w
  • 快取
        一�快取是在Session�哟��作,二�快取可以跨越 Session 生命�L期,Hibernate 透�^第三方����F二�快取,�@�也�砜纯� Query 的快取。
    • � 介快取(Session Level)
    • 二 �快取(Second- level)
    • Query 快取
    • Query.list ()、iterator()

交易
  • 交易入�T
    • � 介交易管理
    • 基 於JDBC的交易管理
  • �K行控制
        ��於交易的隔�x�蛹�(Isolation Level),Hibernate 透�^�煞N Locking �C制�肀WC�Y料在操作�^程中不��被干�_。
    • � 介隔�x�蛹�
    • �� �^�i定 (Optimistic Locking)
    • 悲 �^�i定 (Pessimistic Locking)

Hibernate Annotations �c EntityManager
Hibernate��作了JPA�格,Hibernate Annotations�cHibernate EntityManager提供了�cJPA/EJB3的相容性。
  • Hibernate Annotations
  • Hibernate EntityManager

Hibernate Tool
        透�^一些Hibernate Tool�碜��挠成湮募�生成�Y料�毂砀瘢�或�馁Y料表反向生成映射文件或POJO。
  • �挠� 射文件生成�Y料表
  • �� �Y 料表生成映射文件�cPOJO

附�
  • �� Hibernate 2 到 Hibernate 3
  • Hibernate 官方�W站
  • Java ����Z

你可能感兴趣的:(Hibernate,职场,学习,笔记,休闲)