黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Hibernate體系結構(簡介)

系統 2169 0

全面的體系結構方案,將應用從底層的 jdbc/jtaapi 抽象出來,而讓 hibernate 來處理這些細節。

?

Hibernate體系結構(簡介)

圖中各對象定義如下:

SessionFactory(org.hibernate.SessionFactory)

針對單個數據庫映射關系經過編譯后的內存鏡像,是線程安全的(不可變)。它是生成的 Session 的工廠,本身要用到 ConnectionProvider 。該對象可以在進程或集群的級別上,為那些事務之間可以重用的數據庫提供可選的二級緩存。

?

Session(org.hibernate.Session)

表示應用程序與持久化存儲層之間交互操作的一個單線程對象,此對象生存期很短。其隱藏了 jdbc 連接,也是 Transaction 的工廠。其會持有一個針對持久化的必選(一級)緩存,在遍歷對象圖或者根據持久化對象標識查找對象時會用到。

?

持久化的對象及其集合

帶有持久化狀態的、具有業務功能的單線程對象,此對象生存期很短。這些對

象可以是普通的 JavaBeans/POJO ,唯一特殊的是他們正與(僅僅)一個 Session

關聯。一旦 Session 被關閉,這些對象就會脫離持久化狀態,這樣就可被應用程序 的任何層自由使用。(例如:跟表示層打交道的數據傳輸對象。)

?

瞬態 (transient) 各膠管 (detached) 的對象及其集合

那些目前沒有與 Session 關聯的持久化類實例。他們可能是在被應用實例化之后,尚未進行持久化的對象。也可以是因為實例化他們的 Session 已經被關閉而脫離持久化的對象。

?

事務 Transaction org.hibernate.Transaction

(可選的)應用程序用來指示原子操作單元范圍的對象,它是單線程的,生命周期很短。它通過抽象將應用從底層具體的 jdbc jta 以及 corba 事務隔離開。某此情況下,一個 Session 之內可能包含多個 Transaction 對象。盡管是否使用該對象是可選的,但無論是底層的 api 不是使用 Transaction 對象,事務邊界的開啟與關閉是不可少的。

?

ConnectionProvider org.hibernate.connection.ConnectionProvider

(可選的)生成 jdbc 連接的工廠(同時也起到連接池的作用)。它通過抽象將應用從底層的 DataSource DriverManager 隔離開。僅供開發者擴展 / 實現用,并不暴露給應用程序使用。

?

TransactionFactory org.hibernate.TransactionFactory

(可選的)生成 Transaction 對象實例的工廠。僅供開發者擴展 / 實現用,并不暴露給應用程序使用。

?

2. 實例狀態

一個持久化類的實例可以處于三種不同的狀態中的某一種。這三種狀態的定義規則與所謂持久化上下文( persistencecontext )有關。 Hibernate Session 對象就是這個所謂的持久化上下文:

瞬態( transient

該實例從未與任何持久化上下文關聯過。它沒有持久化標識值(相當于主鍵值)。

?

持久化( persistent

實例目前與某個持久上下文相關聯。它擁有持久化標識,并且可能在數據庫中有一條對應的記錄。對于某個特定的持久化上下文, hibernate 保證持久化標識與 java 標識(其值代表對象在內存中的位置)等價。

?

膠管( detached

實例曾經與某個持久化上下文發生過關聯,不過那個上下文已經被關閉了,或者這個實例是被序列化( serialize )到另外的進程。它擁有持久化標識,并且在數據庫中可能存在有一條對應的記錄。對于膠管狀態的實例, hibernate 不保證任何持久化標識和 java 標識的關系。

<!--EndFragment-->

<!--EndFragment-->

Hibernate體系結構(簡介)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論