1.濡傛灉鏈兘鍙戠幇絎﹀悎鏉′歡鐨勮褰曪紝get鏂規硶榪斿洖null錛岃宭oad鏂規硶浼氭姏鍑轟竴涓狾bejctNotFoundException銆?BR> 2.Load鏂規硶鍙繑鍥炲疄浣撶殑浠g悊綾葷被鍨嬶紝鑰実et鏂規硶姘歌繙鐩存帴榪斿洖瀹炰綋綾匯?BR> 3.Load鏂規硶鍙互鍏呭垎鍒╃敤鍐呴儴緙撳瓨鍜屼簩綰х紦瀛樹腑鐜版湁鏁版嵁錛岃実et鏂規硶鍒欎粎浠呭湪鍐呴儴緙撳瓨涓繘琛屾暟鎹煡鎵撅紝濡傛病鏈夊彂鐜板搴旀暟鎹紝灝嗚秺榪囦簩綰х紦瀛橈紝鐩存帴璋冪敤SQL瀹屾垚鏁版嵁璇誨彇銆?
Session.find/iterate鐨勫尯鍒細
find鏂規硶灝嗘墽琛孲elect SQL浠庢暟鎹簱涓幏寰楁墍鏈夌鍚堟潯浠剁殑璁板綍騫舵瀯閫犵浉搴旂殑瀹炰綋瀵硅薄錛屽疄浣撳璞℃瀯寤哄畬姣曚箣鍚庯紝灝卞皢鍏剁撼鍏ョ紦瀛樸傚畠瀵圭紦瀛樺彧鍐欎笉璇伙紝鍥犳鏃犳硶鍒╃敤緙撳瓨銆?BR> iterate鏂規硶棣栧厛鎵ц涓鏉elect SQL浠ヨ幏寰楁墍鏈夌鍚堟煡璇㈡潯浠剁殑鏁版嵁id錛岄殢鍗籌紝iterate鏂規硶棣栧厛鍦ㄦ湰鍦扮紦瀛樹腑鏍規嵁id鏌ユ壘瀵瑰簲鐨勫疄浣撳璞℃槸鍚﹀瓨鍦紝濡傛灉緙撳瓨涓凡緇忓瓨鍦ㄥ搴旂殑鏁版嵁錛屽垯鐩存帴浠ユ鏁版嵁瀵硅薄浣滀負鏌ヨ緇撴灉錛屽鏋滄病鏈夋壘鍒幫紝鍐嶆墽琛岀浉搴旂殑Select璇彞鑾峰緱瀵瑰簲鐨勫簱琛ㄨ褰曪紙iterate鏂規硶濡傛灉鎵ц浜嗘暟鎹簱璇誨彇鎿嶄綔騫舵瀯寤轟簡瀹屾暣鐨勬暟鎹璞★紝涔熶細灝嗗叾鏌ヨ緇撴灉綰沖叆緙撳瓨錛夈?
Query Cache浜х敓浣滅敤鐨勬儏鍐碉細
1.瀹屽叏鐩稿悓鐨凷elect SQL閲嶅鎵ц銆?BR> 2.鍦ㄤ袱嬈℃煡璇箣闂達紝姝elect SQL瀵瑰簲鐨勫簱琛ㄦ病鏈夊彂鐢熻繃鏀瑰彉銆?
Session.save鏂規硶鐨勬墽琛屾楠わ細
1.鍦⊿ession鍐呴儴緙撳瓨涓鎵懼緟淇濆瓨瀵硅薄銆傚唴閮ㄧ紦瀛樺懡涓紝鍒欒涓烘鏁版嵁宸茬粡淇濆瓨錛堟墽琛岃繃insert鎿嶄綔錛夛紝瀹炰綋瀵硅薄宸茬粡澶勪簬Persistent鐘舵侊紝鐩存帴榪斿洖銆?BR> 2.濡傛灉瀹炰綋綾誨疄鐜頒簡lifecycle鎺ュ彛錛屽垯璋冪敤寰呬繚瀛樺璞$殑onSave鏂規硶銆?BR> 3.濡傛灉瀹炰綋綾誨疄鐜頒簡validatable鎺ュ彛錛屽垯璋冪敤鍏秜alidate()鏂規硶銆?BR> 4.璋冪敤瀵瑰簲鎷︽埅鍣ㄧ殑Interceptor.onSave鏂規硶錛堝鏋滄湁鐨勮瘽錛夈?BR> 5.鏋勯營nsert SQL錛屽茍鍔犱互鎵ц銆?BR> 6.璁板綍鎻掑叆鎴愬姛錛寀ser.id灞炴ц璁懼畾涓篿nsert鎿嶄綔榪斿洖鐨勬柊璁板綍id鍊箋?BR> 7.灝唘ser瀵硅薄鏀懼叆鍐呴儴緙撳瓨銆?BR> 8.鏈鍚庯紝濡傛灉瀛樺湪綰ц仈鍏崇郴錛屽綰ц仈鍏崇郴榪涜閫掑綊澶勭悊銆?
Session.update鏂規硶鐨勬墽琛屾楠わ細
1.鏍規嵁寰呮洿鏂板疄浣撳璞$殑Key錛屽湪褰撳墠session鐨勫唴閮ㄧ紦瀛樹腑榪涜鏌ユ壘錛屽鏋滃彂鐜幫紝鍒欒涓哄綋鍓嶅疄浣撳璞″凡緇忓浜嶱ersistent鐘舵侊紝榪斿洖銆?BR> 2.鍒濆鍖栧疄浣撳璞$殑鐘舵佷俊鎭紙浣滀負涔嬪悗鑴忔暟鎹鏌ョ殑渚濇嵁錛夛紝騫跺皢鍏剁撼鍏ュ唴閮ㄧ紦瀛樸傛敞鎰忚繖閲孲ession.update鏂規硶鏈韓騫舵病鏈夊彂閫乁pdate SQL瀹屾垚鏁版嵁鏇存柊鎿嶄綔錛孶pdate SQL灝嗗湪涔嬪悗鐨凷ession.flush鏂規硶涓墽琛岋紙Transaction.commit鍦ㄧ湡姝f彁浜ゆ暟鎹簱浜嬪姟涔嬪墠浼氳皟鐢⊿ession.flush錛夈?
Session.saveOrUpdate鏂規硶鐨勬墽琛屾楠わ細
1.棣栧厛鍦⊿ession鍐呴儴緙撳瓨涓繘琛屾煡鎵撅紝濡傛灉鍙戠幇鍒欑洿鎺ヨ繑鍥炪?BR> 2.鎵ц瀹炰綋綾誨搴旂殑Interceptor.isUnsaved鏂規硶錛堝鏋滄湁鐨勮瘽錛夛紝鍒ゆ柇瀵硅薄鏄惁涓烘湭淇濆瓨鐘舵併?BR> 3.鏍規嵁unsaved-value鍒ゆ柇瀵硅薄鏄惁澶勪簬鏈繚瀛樼姸鎬併?BR> 4.濡傛灉瀵硅薄鏈繚瀛橈紙Transient鐘舵侊級錛屽垯璋冪敤save鏂規硶淇濆瓨瀵硅薄銆?BR> 5.濡傛灉瀵硅薄涓哄凡淇濆瓨錛圖etached鐘舵侊級錛岃皟鐢╱pdate鏂規硶灝嗗璞′笌Session閲嶆柊鍏寵仈銆?/P>
]]>