本文研究的主要是Hibernate的Session_flush與隔離級別,具體介紹和實例如下。
為伽師等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及伽師網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計、成都做網(wǎng)站、伽師網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!概念介紹我們先來看一些概念:
1.臟讀:臟讀又稱為無效數(shù)據(jù)的讀出,是指在數(shù)據(jù)庫訪問中,事物T1將某一值修改,然后事物T2讀取該值,此后T1因為某種原因撤銷對該值的修改,這就導致了T2所讀取的數(shù)據(jù)是無效的。臟讀就是指當一個事物正在訪問數(shù)據(jù),并且對數(shù)據(jù)進行了修改,而這種修改還沒有提交到數(shù)據(jù)庫中,這時,另外一個事物也訪問這個數(shù)據(jù),然后使用了這個數(shù)據(jù)。因為這個數(shù)據(jù)還是沒有提交的數(shù)據(jù),那么另外一個事物讀到的這個數(shù)據(jù)就是臟數(shù)據(jù),依據(jù)臟數(shù)據(jù)所做的操作是不正確的。
2.不可重復讀:比如我在讀一個帖子,我查出來的數(shù)據(jù)是張三、李四,然后我一刷新發(fā)現(xiàn)最開始的張三變成了張八,這就是所謂的不可重復讀,因為我讀出的數(shù)據(jù)沒重復了嘛。
3.幻讀:我在查數(shù)據(jù)的時候,開始查出來的記錄為3條,我一刷新,發(fā)現(xiàn)記錄變?yōu)榱?條,這就是幻讀。
4.提交讀:提交了之后才可以讀取,Oracle默認就是這個,這種方式是不存在臟讀的。
5.可重復度:很顯然是和不可重復讀相反的,它可以避免不可重復讀,但是這個不能避免幻讀。
6.序列化:這種方式非常嚴格,通俗的說就是,當我在做一件事情的時候,其他任何人都不能做,非常安全,但是效率極低。
隔離級別下面我們通過實際的例子來體會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; } }
當前名稱:Hibernate的Session_flush與隔離級別代碼詳解-創(chuàng)新互聯(lián)
文章起源:http://aaarwkj.com/article2/coiiic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站維護、虛擬主機、服務(wù)器托管、靜態(tài)網(wǎng)站、電子商務(wù)
聲明:本網(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)