Hibernate中session常用方法-創(chuàng)新互聯(lián)

1.session.save(實(shí)體類(lèi)) 保存
2.session.get(實(shí)體類(lèi)的字節(jié)碼文件,變量id)
3.session.update(實(shí)體類(lèi))
4.session.delete(實(shí)體類(lèi))
5.查詢(xún)使用query對(duì)象來(lái)查詢(xún)
Query q = session.createQuery(hql)
什么是hql
hql是hibernate的查詢(xún)語(yǔ)言 ( from 實(shí)體類(lèi)) 不需要寫(xiě)selcet
相對(duì)于sql語(yǔ)句,在hql語(yǔ)句中 涉及到表中信息的,都使用實(shí)體類(lèi)和類(lèi)中的屬性代替
List<實(shí)體類(lèi)> 變量 = q.list();

成都創(chuàng)新互聯(lián)2013年開(kāi)創(chuàng)至今,先為翼城等服務(wù)建站,翼城等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為翼城企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

6.和一級(jí)緩存相關(guān)的方法
6.1
close() 關(guān)閉session,說(shuō)明session已經(jīng)不能用了
clear() 清除session中的一級(jí)緩存,所有緩存在session中的數(shù)據(jù)全部被清除
區(qū)別:clear()方法session還可以用
6.2
evict(Object)清除一級(jí)緩存中指定的對(duì)象
6.3
refresh(Object) 使用數(shù)據(jù)庫(kù)中的數(shù)據(jù)修改緩存的數(shù)據(jù) 同時(shí)也會(huì)修改內(nèi)存對(duì)象 快照是拿緩存中的數(shù)據(jù)修改數(shù)據(jù)庫(kù) refresh拿數(shù)據(jù)庫(kù)中的數(shù)據(jù)修改緩存
6.4
flush()手動(dòng)執(zhí)行快照機(jī)制 默認(rèn)是在事物提交時(shí)執(zhí)行快照機(jī)制

7.save和persist的區(qū)別
共同點(diǎn)把臨時(shí)態(tài)變成了持久態(tài)
區(qū)別:
save方法是hibernate提供的
persist方法是jpa規(guī)范提供的
jpa規(guī)范:java持久化api
該規(guī)范的指定有hibernate作為主導(dǎo)
但是,由于他是一個(gè)規(guī)范,任何支持持久化的orm框架都比尋遵循,hibernate也不能例外
最重要的區(qū)別:事物問(wèn)題
如果有事物的話(huà),兩個(gè)都是執(zhí)行保存(把對(duì)象有臨時(shí)態(tài)變成持久態(tài))
如果沒(méi)有事物:
save方法:
Hibernate3執(zhí)行保存操作,但是但是由于沒(méi)有事物,則不會(huì)提交。事物會(huì)自動(dòng)回滾
hibernate5會(huì)在一個(gè)內(nèi)置的事物中執(zhí)行
persist方法:什么都不會(huì)做
8.update和merge
Hibernate中session常用方法
第一步對(duì)象從臨時(shí)態(tài)變成永久態(tài)
第二部對(duì)象從永久態(tài)變成托管態(tài)
第三部把jvm中的內(nèi)存對(duì)象的值改變
第四部對(duì)象從臨時(shí)態(tài)便曾永久態(tài)
第五步更新托管態(tài)對(duì)象報(bào)錯(cuò)(因?yàn)閡pdate方法會(huì)先把托管態(tài)對(duì)象加載到以及緩存中,以及緩沖中已經(jīng)存在了oid形同的對(duì)象)NonUniqueObjectException
解決辦法是用merge方法
merge會(huì)把兩個(gè)相同oid的對(duì)象數(shù)據(jù)合并 永遠(yuǎn)是用臨時(shí)態(tài)或者托管態(tài)的對(duì)象數(shù)據(jù)改變持久態(tài)的

update時(shí) 如果更新的數(shù)據(jù)。在提交之前被其他程序刪除 會(huì)報(bào)錯(cuò)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁(yè)名稱(chēng):Hibernate中session常用方法-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://muchs.cn/article22/cdjccc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、軟件開(kāi)發(fā)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站收錄、企業(yè)建站、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)