字體:小 中 大 |
|
|
|
| 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 來存取大量的紀錄 |
|
| ( 知識學習|其他 ) |



字體:






