lock(Object object,LockMode lockMode)
引數說明:鎖定模式 | 功能簡介 |
---|---|
LockMode.NONE | 表示無鎖機制,是Hibernate的預設值。採用這種方式首先在Hibernate快取中檢索,存在則直接返回物件的參照;否則到資料庫中載入物件 |
LockMode.READ | 無論Hibernate快取中是否存在,總是直接到資料庫中載入。如果對映檔案中設定了版本元素,則比較快取中物件的版本與資料庫中記錄的版本是否一致 |
LockMode.UPGRADE | 在LockMode.READ模式的基礎上,如果資料庫系統支援悲觀鎖(如Mysql和Oracle),則執行select...for update語句,否則執行普通的select語句 |
LockMode.UPGRADE_NOWAIT | 在上一模式的基礎上,如果是Oracle資料庫,則執行select...for update nowait語句,nowait作用是:如果執行該select語句的事務不能立刻獲得悲觀鎖,會立刻丟擲鎖定異常,而不會去等待其他事務釋放鎖定 |
UserForm uf = new UserForm(); //定義儲存實體類物件的JavaBean物件 uf = (UserForm)session.get(UserForm.class,1); //獲取編號為1的使用者資訊 session.lock(uf,LockMode.READ); //鎖定Lock物件