本文研究的主要是Hibernate的Session_flush與隔離級(jí)別,具體介紹和實(shí)例如下。
為伽師等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及伽師網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、伽師網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!概念介紹我們先來看一些概念:
1.臟讀:臟讀又稱為無效數(shù)據(jù)的讀出,是指在數(shù)據(jù)庫訪問中,事物T1將某一值修改,然后事物T2讀取該值,此后T1因?yàn)槟撤N原因撤銷對(duì)該值的修改,這就導(dǎo)致了T2所讀取的數(shù)據(jù)是無效的。臟讀就是指當(dāng)一個(gè)事物正在訪問數(shù)據(jù),并且對(duì)數(shù)據(jù)進(jìn)行了修改,而這種修改還沒有提交到數(shù)據(jù)庫中,這時(shí),另外一個(gè)事物也訪問這個(gè)數(shù)據(jù),然后使用了這個(gè)數(shù)據(jù)。因?yàn)檫@個(gè)數(shù)據(jù)還是沒有提交的數(shù)據(jù),那么另外一個(gè)事物讀到的這個(gè)數(shù)據(jù)就是臟數(shù)據(jù),依據(jù)臟數(shù)據(jù)所做的操作是不正確的。
2.不可重復(fù)讀:比如我在讀一個(gè)帖子,我查出來的數(shù)據(jù)是張三、李四,然后我一刷新發(fā)現(xiàn)最開始的張三變成了張八,這就是所謂的不可重復(fù)讀,因?yàn)槲易x出的數(shù)據(jù)沒重復(fù)了嘛。
3.幻讀:我在查數(shù)據(jù)的時(shí)候,開始查出來的記錄為3條,我一刷新,發(fā)現(xiàn)記錄變?yōu)榱?條,這就是幻讀。
4.提交讀:提交了之后才可以讀取,Oracle默認(rèn)就是這個(gè),這種方式是不存在臟讀的。
5.可重復(fù)度:很顯然是和不可重復(fù)讀相反的,它可以避免不可重復(fù)讀,但是這個(gè)不能避免幻讀。
6.序列化:這種方式非常嚴(yán)格,通俗的說就是,當(dāng)我在做一件事情的時(shí)候,其他任何人都不能做,非常安全,但是效率極低。
隔離級(jí)別下面我們通過實(shí)際的例子來體會(huì)Hibernate清除緩存的應(yīng)用。
Hibernate映射數(shù)據(jù)庫和主鍵的生成策略有關(guān)。
UUID的方式生成主鍵的例子:
public class User { private String uid; private String uname; private Date birthday; public String getUid() { return uid; } public void setUid(String uid) { this.uid = uid; } public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
當(dāng)前名稱:Hibernate的Session_flush與隔離級(jí)別代碼詳解-創(chuàng)新互聯(lián)
文章起源:http://jinyejixie.com/article2/coiiic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站維護(hù)、虛擬主機(jī)、服務(wù)器托管、靜態(tài)網(wǎng)站、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容