您的位置:首页 > 编程语言 > Go语言

Hibernate Gossip学习笔记

2007-07-17 14:31 267 查看

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.0。

基礎入門 從一個最基本的物件關係映射自動化程式,瞭解 Hibernate 組成的基本元素,並進一步瞭解 Hibernate 的基礎語義、配置等概念。

O/R 映射入門

第一個 Hibernate 程式很簡單,將一個物件映射至一個資料表。

配置 Hibernate

第一個 Hibernate

第二個 Hibernate

基本配置

瞭解一下配置文件、映射文件中各種元素的意義,在進入物件關係映射的學習之前,這是必備的基本功夫。

配置文件

資料庫連結

簡介快取(Session Level)

簡介事務管理(基於 JDBC )

映射文件

基本 API

瞭解一下 Hibernate 常使用的幾個類別之基本使用方式。

Session

Session 管理

Criteria 基本查詢

Criteria 進階查詢

DetchedCriteria

Query

HQL(Hibernate Query Language)

這是 Hibernate 官方所推薦的查詢語言,接近 SQL 的語法,並提供更多的特性與封裝。

基本查詢

where、 group by、order by 子句

更新、刪除

SQL 支援

Hibernate 提供了對 SQL 的支援,並可以自行定義持久化方式。

建立 SQL 查詢

自定義 insert、update、delete

映射基礎議題

一邊是物件,一邊是資料表格,兩者在映射時有一些過渡的基礎議題必須瞭解。

實體物件生命週期

資料識別(Data Identity)

物件關聯映射(Object/Relational Mapping, ORM) 學習 Hibernate,大部份的時間都在瞭解如何實現映射,而從中您也可以瞭解到不少關聯式資料庫的表格設計方式。

實體映射

來看看一些進階的實體映射議題。

複合主鍵(一)

複合主鍵(二)

Blob、 Clob

Blob、 Clob - Oracle 9i

Component

動態模型(Dynamic Model)

繼承映射

在物件導向設計中,繼承關係是很常見的,但繼承與關聯式資料庫有著先天上的差異,繼承關係至表格的設計上有三種方式。

繼承 - Table per concrete class

繼承 - Table per class hierarchy

繼承 - Table per subclass

容器映射

容器常用來儲存物件,這邊來瞭解一下如何將容器的關係映射至表格。

Set

List

Map

Bag

內含 Component 的容器

容器的排序

容器的延遲初始(Lazy Initialization)

關係映射

來看看實體與實體之間的多對一、一對多、一對一、多對多如何與Java物件之間進行映射。

多對一

cascade 的意義

一對多

雙向關聯(inverse 的意義)

一對一(唯一外鍵關聯)

一對一(主鍵關聯)

多對多

進階特性 有關於Hibernate的快取、事務等進階特性的探討。

快取

二級快取可以跨越 Session 生命週期,Hibernate 透過第三方來實現二級快取,這邊也來看看 Query 的快取。

二級快取(Second- level)

Query 快取

Query.list ()、iterator()

Locking

Hibernate 透過兩種 Locking 機制來保證資料在操作過程中不會被干擾。

悲觀鎖定(Pessimistic Locking)

樂觀鎖定(Optimistic Locking)

Validatable、Lifecycle、Interceptor

分別透過這三個介面,來進行資料驗證、於 CRUD(Create Retrieve Update Delete)作對應動作、欄截動作。

Lifecycle 介面、Validatable 介面

Interceptor 介面

工具 透過一些工具來自動生成映射文件或資料庫表格。

從映射文件生成資料表

從資料表生成映射文件

附錄

從 Hibernate 2 到 Hibernate 3

Hibernate 官方網站

Java 視線論譠

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: