hibernate悲觀鎖 與樂觀鎖
悲觀鎖
舉個例子:
//查詢id=1的那條記錄,使用悲觀鎖
User user = (User)session.load(User.class, 1 ,
使用了數(shù)據(jù)庫中的 for update
樂觀鎖
大多數(shù)基于數(shù)據(jù)版本記錄機(jī)制(version)實(shí)現(xiàn),一半是在數(shù)據(jù)庫表加入一個version字段,讀取數(shù)據(jù)時將版本號一同讀出,之后更新數(shù)據(jù)時版本號加一,如果提交數(shù)據(jù)時版本號小于或等于數(shù)據(jù)庫表中的版本號,則認(rèn)為數(shù)據(jù)是過期的,否則給予更新。
其實(shí)并非是鎖,是一種沖突檢測
在*.hm.xml中 添加紅色部分:
<class
name="com.tao3c.orm.TbBusinessInfo"
其中version是com.tao3c.orm.TbBusinessInfo類的屬性,hiernbate會去維護(hù)的,不用自己去該
posted on 2009-04-06 11:57 胡鵬 閱讀(186) 評論(0) 編輯 收藏 所屬分類: hibernate