1.session.save(實體類) 保存
2.session.get(實體類的字節(jié)碼文件,變量id)
3.session.update(實體類)
4.session.delete(實體類)
5.查詢使用query對象來查詢
Query q = session.createQuery(hql)
什么是hql
hql是hibernate的查詢語言 ( from 實體類) 不需要寫selcet
相對于sql語句,在hql語句中 涉及到表中信息的,都使用實體類和類中的屬性代替
List<實體類> 變量 = q.list();
6.和一級緩存相關(guān)的方法
6.1
close() 關(guān)閉session,說明session已經(jīng)不能用了
clear() 清除session中的一級緩存,所有緩存在session中的數(shù)據(jù)全部被清除
區(qū)別:clear()方法session還可以用
6.2
evict(Object)清除一級緩存中指定的對象
6.3
refresh(Object) 使用數(shù)據(jù)庫中的數(shù)據(jù)修改緩存的數(shù)據(jù) 同時也會修改內(nèi)存對象 快照是拿緩存中的數(shù)據(jù)修改數(shù)據(jù)庫 refresh拿數(shù)據(jù)庫中的數(shù)據(jù)修改緩存
6.4
flush()手動執(zhí)行快照機制 默認是在事物提交時執(zhí)行快照機制
7.save和persist的區(qū)別
共同點把臨時態(tài)變成了持久態(tài)
區(qū)別:
save方法是hibernate提供的
persist方法是jpa規(guī)范提供的
jpa規(guī)范:java持久化api
該規(guī)范的指定有hibernate作為主導(dǎo)
但是,由于他是一個規(guī)范,任何支持持久化的orm框架都比尋遵循,hibernate也不能例外
最重要的區(qū)別:事物問題
如果有事物的話,兩個都是執(zhí)行保存(把對象有臨時態(tài)變成持久態(tài))
如果沒有事物:
save方法:
Hibernate3執(zhí)行保存操作,但是但是由于沒有事物,則不會提交。事物會自動回滾
hibernate5會在一個內(nèi)置的事物中執(zhí)行
persist方法:什么都不會做
8.update和merge
第一步對象從臨時態(tài)變成永久態(tài)
第二部對象從永久態(tài)變成托管態(tài)
第三部把jvm中的內(nèi)存對象的值改變
第四部對象從臨時態(tài)便曾永久態(tài)
第五步更新托管態(tài)對象報錯(因為update方法會先把托管態(tài)對象加載到以及緩存中,以及緩沖中已經(jīng)存在了oid形同的對象)NonUniqueObjectException
解決辦法是用merge方法
merge會把兩個相同oid的對象數(shù)據(jù)合并 永遠是用臨時態(tài)或者托管態(tài)的對象數(shù)據(jù)改變持久態(tài)的
update時 如果更新的數(shù)據(jù)。在提交之前被其他程序刪除 會報錯
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
網(wǎng)頁名稱:Hibernate中session常用方法-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://chinadenli.net/article22/cdjccc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、軟件開發(fā)、品牌網(wǎng)站設(shè)計、網(wǎng)站收錄、企業(yè)建站、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容