// 首先返回乙個cglib by lazy loading的**物件
// 當該實體真正被使用時, load 會在2級、一級快取中載入實體物件,
// 如果實體不存在, 再去資料庫查詢資料, 而此時資料庫也不存在的話,則丟擲org.hibernate.objectnotfoundexception
pkvalue);
// get 也會先在2級、一級快取中載入實體物件,如果實體不存在,即到資料庫中去查詢,此時資料庫也不存在的話,則返回null
pkvalue);
//entity從session獲取後, 內部的collection屬性都變成hibernate內部集合實現類用以完成lazy load.
// ---------- xml configuration ------
//hibernate3多了fetch屬性,有兩種狀態select和join.
//當fetch=select的時候,我們查詢從表資料時候,首先會根據主表查處主表物件,然後根據主表id生成另乙個select語句去查詢從表資料,產生1+n的查詢效果
//當fetch=join的時候,hibernate會自動用一條外連線語句同時查詢主表和從表資料
//cascade和inverse的區別:
//cascade定義的是關係兩端物件到物件的級聯關係. 而inverse定義的是關係和物件的級聯關係
//inverse只對set+one-to-many(或many-to-many)有效, 對many-to-one, one-to-one無效. cascade對關係標記都有效.
// ---------- query ---------------
// list預設不使用一、2級快取,並且會往2級快取中加入資料, 但是查詢的時候並不使用2級快取
// 可配置查詢快取, 這樣就可讓list也使用2級快取
// iterator 預設使用1、2級快取.
// ------------ lock --------------------
// a) lockmode.none: 無鎖的機制,transaction結束時,切換到此模式
// b) lockmode.read: 在查詢的時候,hibernate會自動獲取鎖
// c) lockmode.write: insert、update實體時, hibernate會自動獲取鎖
// - 以上3中鎖的模式,是hibernate內部使用的
// d) lockmode.upgrade: 查詢時,對資料行加鎖。利用資料庫for update子句(悲觀鎖)
// 依靠資料庫提供的鎖機制方式。(也只有資料庫層提供的鎖機制才能真正保證資料訪問的排它性,
// 否則, 即使在本地系統中實現了加鎖機制, 也無法保證外部系統不會修改資料.)
// e) lockmode.upgrade_nowait: oracle 支援的鎖方式
// entity entity = session.load(entity.class, pkvalue, lockmode.upgrade);
//乙個典型的依賴資料庫的悲觀鎖呼叫:
// select * from account where name='erica' for update
//這條sql語句鎖定了 account 表中所有符合檢索條件 (name='erica')的記錄.
//本次事務提交之前(事務提交時會釋放事務過程中的鎖), 外界無法修改這些記錄.
//hibernate悲觀鎖實現(依賴與資料庫鎖機制):
// query query = session.createquery("from tuser where user.name='erica'");
// query.setlockmode("user", lockmode.upgrade); -- 獲取鎖
// list userlist = query.list();
//-- 釋放鎖
Vim 使用筆記
set hlsearch set nohlsearch 搜尋後清除上次的加亮 nohl nohlsearch 拷貝 很有用的一句話,規定了格式選項,讓它換行不自動空格 set formatoptions tcrqn set fo r set noautoindent 再 shift insert 正...
xemacs使用筆記
xemacs使用筆記 xemacs emacs的下一代,由lucid原創 from debian參考手冊.由於不知道什麼時候刪掉了emacs的乙個重要檔案.每次都沒法安裝好.突然發現了xemacs,於是決定使用看看.本人還是菜鳥,僅供交流 我使用的ubuntu系統,所以就直接apt get inst...
TreeView使用筆記
treeview由節點構成,建樹通過對treeview.items屬性進行操作。items是乙個ttreenodes物件,這是乙個ttreenode集。一 針對ttreenodes,也就是 treeview.items,有這些屬性 1 count,節點個數。2 item index 通過index得...