程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> 強人Hibernate文檔筆記(上)

強人Hibernate文檔筆記(上)

編輯:J2EE

Hibernate文檔筆記共分為三個部分,此處是第一部分,講述了對象定義、實例狀態、JMX集成和JCA 支持四個部分的內容。

一、對象定義

1.org.hibernate.SessionFactory

對於單個數據庫,被編譯的映射,是一個線程安全的緩沖區。是一個Session和ConnectionProvider客戶端的工廠。擁有可選的對過程級和集群級重復利用的數據的緩存(二級緩存)。

2.org.hibernate.Session

單線程、短生命周期的在應用程序和持久化存儲系統之間的一個會話對象。封裝了一個JDBC連接。是一個事務的工廠。擁有強制的對持久化對象的緩存(一級緩存),當通過標識浏覽對象之間關系和查找對象時使用。

3.Persistent objects and collections

包含執久化狀態和業務功能的短生命周期的、單線程對象。可以是POJOs,通常是和Session(嚴格說,是單個Session)相關聯的對象。Session一關閉,他們將和Session分離,可以自由的使用在應用層的任何地方。(也就是說,作為傳輸對象使用(Transfer Object)。)

4.TransIEnt and detached objects and collections

不和當前Session關聯的持久化類的實例。他們可以被應用程序在不持久化時實例化,也可以被關閉的Session實例化。

5.org.hibernate.Transaction (可選)

應用程序用來指定一個原子操作的單線程、短生命周期的對象。低層JDBC、JTA、CORBA事務的抽象程序。在相似的情況下,一個Session可以同時橫跨多個事務。事務劃分,既可以使用低層的APIs,也可以使用Transaction。

6.org.hibernate.connection.ConnectionProvider (可選)

JDBC連接或JDBC連接池的工廠。低層DataSource和DriverManager的抽象程序。

這個對象不暴露給應用程序,但是應用程序可以被開發者繼承和實現。

7.org.hibernate.TransactionFactory (可選)

Transaction實例的工廠。這個對象不暴露給應用程序,但是應用程序可以被開發者繼承和實現。

二、實例狀態

持久化對象根據持久化上下文的定義,可以有三種不同的狀態。Hibernate Session對象是一個持久化上下文。

1.transIEnt

不關聯任何的持久化上下文。沒有持久化的標識(指主鍵值Primary key value)。

2.persistent

和當前持久化上下文關聯。他有一個持久化標識,多數情況,在數據庫中有對應的行。對於特定的持久化上下文,Hibernate保證持久化標識和Java標識(內存中對象的位置)相同。

3.detached

曾經和一個持久化上下文關聯,持久化上下文關閉;或者對象在另一個進程中被序列化。他擁有持久化標識,多數情況,在數據庫中有對應的行。對於分離對象Hibernate不保證持久化標識和Java標識的對應關系。

三、JMX集成

JMX是Java組件管理的JEE標准。Hibernate可以被JMX服務管理。在發行版本中,Hibernate提供了一個MBean的實現,org.hibernate.jmx.HibernateService。

在JBoss上,你使用JMX可以得到的好處:

1.Session Management

Hibernate Session的生命周期可以自動的綁定到JTA事務范圍。這意味著,你不需要手動的打開關閉Session,這成為JBoss EJB攔截器的要完成的工作。在你的代碼中,也不用擔心事務的劃分,當然除非你想要寫一個輕便的持久化層,通過使用Hibernate Transaction APIs。你可以調用HibernateContext來訪問Session。

2.HAR deployment

通常使用JBoss Service Deployment Descriptor(在EAR或SAR文件中)發布Hibernate JMX Service,它支持Hibernate SessionFactory所有的常用配置選項。無論如何,你還需要在deployment descriptor中描述所有的映射文件。如果你使用可選的HAR Deployment,JBoss將自動檢測所有的映射文件在HAR文件中。

四、JCA 支持

Hibernate也可以配置作為一個連接器。該功能是實踐型功能。

以上四個方面的內容組是我的Hibernate文檔筆記的第一部分,想更多的了解,請關注其他兩個部分。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved