網路城邦
上一篇 回創作列表 下一篇  字體:小 中 大
Hibernate 簡介
2008/05/29 01:17:41瀏覽1234|回應0|推薦0

一、Hibernate 簡介

1. 官方網址: http://www.hibernate.org 

2. 作者是 Gavin King (大部分的程式由他本人獨力完成)。

3. 是一個免費的 O/R Mapping Framework。

4. 使用時不需要安裝額外的 container。

5. 是 JBoss 的 一項專案,所以對 JBoss 的相關產品有較好的整合性 ( 特別的功能 )。

6. Java 與 .NET 都可以來使用 Hibernate。

二、Java 運作環境 與 Hibernate 的支援關係

1. J2SE1.4 / J2EE 1.4 :  可使用 Hibernate Native API、Core、XML Metadata、Quickstart。

2. Java SE 5 : 可使用 Hibernate Native API、Core、Annotations、Quickstart、Java Persustence Privider (由 EntityManager、Core、Annotations 所組成)。

3. Java EE 5 : JBoss Sean、Hibernate EntityManager、Core、Annotations、Quickstart。

三、Hibernate 的運作流程

以下避開了與撰寫程式相關的部分,提供一個易懂的概述。

1. 我們將 Database 連線方式與 Hibernate Mapping File 的位置儲存到 Hibernate Configuration File。

2. 再將要儲存到 Database 的 Java Value Object 註冊到 Mapping File 中,換句話說,將 Java Value Object 的 properties 寫到 Mapping File。

3. 程式啟動時會先編譯 Mapping File,並透過 Mapping File 來對應 Java Class 與 Database schema。

三者之間的關係如同:  Java Class <----> Mapping File <----> Database schema。所以我們也可以透過 Mapping File 來產生 Java Value Object 與 Database schema。

4. 程式編譯 Mapping File 後,會產生一個 SessionFactory,且每一個 Mapping File 只會產生 一個 SessionFactory ,

又因為一個 Mapping File 只對應到一個 Database schema,所以可以把 SessionFactory 視為要存取的 Database schama。

5. SessionFactory 產生後,可以從 SessionFactory 取得 Session,這裡所說的 Session 是Hibernate 把 Java SQL Connection 封裝而成的介面,作為程式與 Database 之間的聯絡橋樑,且一個 Session 只供一個 Thread 來使用。

6. 程式現在可以透過 Session 來存取 Database 了。

四、在下列情況中,建議不要改用 Hibernate

1. 目前程式使用複雜的 store procedure

2. 目前程式會使用 batch file 來存取大量的紀錄

( 知識學習|其他 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=LupinBlog&aid=1910581