日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate的Session介绍[转 adoocoke]

發(fā)布時間:2025/7/14 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate的Session介绍[转 adoocoke] 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Session

Session是Hibernate向應用程序提供操作數(shù)據(jù)的主要接口, 他提供了保存、更新、刪除、加載Java對象的方法。

Session的緩存

Session有一個緩存,用來緩存Java對象。一般的數(shù)據(jù)庫操作,都要從先從Session的緩存中獲取,如果緩存中獲取不到,hibernate才會去數(shù)據(jù)庫中獲取。

緩存的作用

緩存的作用不言而喻。1、減少數(shù)據(jù)訪問的頻率。2、保持保證數(shù)據(jù)相關記錄與緩存中的同步。

清理緩存

Session的save、update、delete方法,只有在清理緩存的時候才向數(shù)據(jù)庫中執(zhí)行一條Sql語句。所以,Session清理緩存的時間點,是個關鍵概念。

Session會在一下幾個時間點清理緩存,并執(zhí)行相關語句:

a、當應用程序調(diào)用org.hibernate.Transactioncommit()方法的時候,commit()方法先清理緩存,然后再向數(shù)據(jù)庫提交事務。 b、當應用程序通過HibernateQuery查詢接口等執(zhí)行查詢操作時,如果緩存中持久化對象的屬性發(fā)生了變化,就會先清理緩存,以保證查詢結果能反映持久化對象的最新狀態(tài)。 c、當應用程序顯式調(diào)用Sessionflush()方法的時候。?

Java對象在Hibernate中的狀態(tài)

介紹緩存的方法之前,先介紹一下java對象在緩存中的幾種狀態(tài),以便更好的立即緩存對對象的操作。

臨時狀態(tài):通過new方法新創(chuàng)建的對象,還沒有持久化到數(shù)據(jù)庫中,也不在Session的緩存中, 此時的對象處于臨時狀態(tài)。對象也成為臨時對象。

持久化狀態(tài):對象被持久化,同時已經(jīng)加入到緩存中。此時的對象也被稱為持久化對象。

刪除狀態(tài):對象不在Session緩存中Session也計劃將其從數(shù)據(jù)庫中刪除。此時的對象也被稱為刪除對象。

游離狀態(tài):已經(jīng)被持久化,但沒有加載到Session緩存中,稱為游離狀態(tài),此時的對象也被稱為游離對象。

Session接口中的方法

1、save()和persist()

????? save方法將一個臨時對象變?yōu)橐粋€持久化對象。并為對象生成OID主鍵。同時,執(zhí)行一條insert語句就,將對象存儲在數(shù)據(jù)庫中。(save并不立即執(zhí)行Sql insert語句,而是在Session清理緩存的時候才執(zhí)行)

????? save和persist都是將java對象持久化到數(shù)據(jù)庫中的方法。他們的區(qū)別在于,persist方法不保證立即為持久化對象生成OID主鍵,而是在Session清理緩存的時候才為OID生成

2、get()和load()

????? get()和load()都是根據(jù)OID從數(shù)據(jù)庫中獲取一個Java對象。

????? 區(qū)別:a、數(shù)據(jù)庫中沒有OID對應的對象時,get返回null,load拋出ObjectNotFoundException。

?????????????? b、load默認使用“延遲檢索策略”,而get使用“立即加載策略”。關于這兩個策略的介紹請看《Hibernate的檢索策略》

3、update()

???? update方法更新java對象的某些屬性,并能夠使一個游離對象轉變?yōu)橐粋€持久化對象。同樣,update也不是立即執(zhí)行,也是在清理緩存的時候執(zhí)行,并且在執(zhí)行前才組裝update語句, 也就是說,它只會組裝最后一次設置的對象的屬性值

4、saveOrUpdate()

????? saveOrUpdate方法,兼有save和update的功能,它會判斷傳入的對象狀態(tài),如果是臨時對象, 就執(zhí)行save如果是游離對象,就執(zhí)行update。判斷方法有:OID是否為null、

????? 是否具有version版本控制屬性并為null,id和version的unsaved-value屬性是否與對應的值相等、是否設置了攔截器邏輯的isUnsaved返回true。

5、delete()

????? delete方法可以刪除持久化對象,也可以刪除游離對象。它先將游離對象與session相關聯(lián),然后準備一條sql語句,然后對象從session中刪除,最后等待Session在清理緩存的時候才執(zhí)行sql語句。

6 、flush()

????? flush會使Session立即清理緩存,并指向相關數(shù)據(jù)庫Sql語句,但不會提交事務

7、commit()

????? commit方法會調(diào)用flush清理緩存,執(zhí)行Sql,并并提交事務

8、merge()

????? 處于游離狀態(tài)的對象是不能執(zhí)行update語句的,否則hibernate會拋出NotUniqueObjectException異常,如何能夠將游離狀態(tài)的對象在恢復到持久化狀態(tài)呢。使用merge方法就可以辦到。merge方法能夠?qū)⒁粋€游離對象的屬性復制到持久化對象中。

下面是對象的狀態(tài)轉換圖(來自網(wǎng)絡),從這個圖中我們可以看到狀態(tài)轉換和Session中方法的調(diào)用關系。

轉載于:https://www.cnblogs.com/wukong0214/archive/2013/01/23/2874030.html

總結

以上是生活随笔為你收集整理的Hibernate的Session介绍[转 adoocoke]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品色悠悠 | 久久视频这里只有精品 | 影音先锋制服 | 日本一级吃奶淫片免费 | 男人添女人下部高潮视频 | 国产精品久久久久久久久久久久久久久久久 | 亚洲免费色视频 | 香蕉视频国产在线观看 | 欧美成人一区二区在线 | 国产在线一级片 | 国产99久一区二区三区a片 | 日本少妇高潮抽搐 | 第四色男人天堂 | 精品久久久久久久久中文字幕 | 美女日批视频在线观看 | 69视频一区 | 黄色片网站在线播放 | 免费看成人毛片 | 国产一区网 | 不用播放器av | h视频在线看 | 亚洲欧美日韩另类 | 动漫av在线免费观看 | 草草福利影院 | 在线观看日韩精品 | 精品在线视频观看 | 国产在线一卡二卡 | 欧美体内谢she精2性欧美 | 最好看十大无码av | 国产18在线 | 日本三级韩国三级三级a级按摩 | 国产盗摄视频在线观看 | 高清一区二区三区四区 | 美女脱了内裤喂我喝尿视频 | 国产最爽的乱淫视频国语对白 | 国产乱xxⅹxx国语对白 | 在线观看免费国产 | 成人小视频在线 | 久久香蕉网站 | 国产东北女人做受av | 国产乱淫av免费 | 3o一40一50一6o女人毛片 | 欧美成人三级伦在线观看 | 99热这里| 99综合色| 朱竹清到爽高潮痉挛 | 午夜精产品一区二区在线观看的 | 国产白袜脚足j棉袜在线观看 | 深夜毛片 | 国产伊人网 | 99国产精品人妻噜啊噜 | 干一干操一操 | 国产稀缺真实呦乱在线 | jizzjizz日本人| 在线看av网址 | 综合激情五月婷婷 | 天堂av电影在线观看 | 天天爽夜夜爽夜夜爽精品视频 | 日韩久久一区二区三区 | 男人猛进女人爽的大叫 | 午夜av免费观看 | 国产亚洲精品成人无码精品网站 | 国产成人亚洲欧洲在线 | 国产无遮挡又黄又爽又色视频 | 男人操女人逼逼视频 | 亚洲三级久久 | 国产精品久久久精品三级 | av在线你懂的 | 国产精品一区二区麻豆 | 久久精品国产大片免费观看 | 国产妞干网 | 成片免费观看 | 天天插天天操 | 公侵犯一区二区三区 | 亚洲精品乱码久久久久久蜜桃不卡 | 欧美猛交xxx | 九九天堂网| 韩日av一区二区 | 成人做爰69片免费 | 久久99精品久久久久久琪琪 | 国产亚洲精品久久久久久无几年桃 | 国产一区二区三区自拍 | 看片日韩| 国产欧美日韩亚洲 | 日韩女女同性aa女同 | 久久久久久av无码免费网站下载 | 欧美性生交xxxxx久久久缅北 | 国产精品啪 | 你懂的视频在线播放 | 国产精品美女一区二区三区 | 日韩网红少妇无码视频香港 | 污导航在线观看 | 欧美精品一级在线观看 | 美女自卫网站 | 日本r级电影在线观看 | 在线观看免费视频国产 | 亚洲精品中文字幕乱码三区91 | 穿越异世荒淫h啪肉np文 | 日本中文在线视频 |