鍩轟簬涓氬姟闇姹傦紝鎮ㄤ細闇瑕佷嬌鐢ㄤ袱涓瓧孌墊潵浣滃鍚堜富閿紝渚嬪鍦?span lang="EN-US">User鏁版嵁琛ㄤ腑錛屾偍涔熻浼氫嬌鐢?span lang="EN-US">"name"涓?span lang="EN-US">"phone"涓や釜瀛楁鏉ュ畾涔夊鍚堜富閿?span lang="EN-US">
鍋囪鎮ㄨ繖涔堝緩绔?span lang="EN-US">User琛ㄦ牸錛?span lang="EN-US">
鍦ㄨ〃鏍間腑錛?span lang="EN-US">"name"涓?span lang="EN-US">"age"琚畾涔変負澶嶅悎涓婚敭錛屽湪鏄犲儚鏃訛紝鎮ㄥ彲浠ヨUser綾誨埆鐩存帴甯︽湁"name"涓?span lang="EN-US">"age"榪欎袱涓睘鎬э紝鑰?span lang="EN-US">Hibernate瑕佹眰澶嶅悎涓婚敭綾誨埆瑕佸疄浣?span lang="EN-US">Serializable鎺ュ彛錛屽茍瀹氫箟equals()涓?span lang="EN-US">hashCode()鏂規硶錛?span lang="EN-US">
User.java
equals()涓?span lang="EN-US">hashCode()鏂規硶琚敤浣滀袱絎斾笉鍚屾暟鎹殑璇嗗埆渚濇嵁錛涙帴鐫鎮ㄥ彲浠ヤ嬌鐢?span lang="EN-US"><composite-id>鍦ㄦ槧灝勬枃浠朵腑瀹氫箟澶嶅悎涓婚敭涓庡璞$殑灞炴у搴旓細
User.hbm.xml
鍦ㄥ偍瀛樻暟鎹柟闈紝澶嶅悎涓婚敭鐨勫偍瀛樻病浠涔堝尯鍒紝鐜板湪鐨勯棶棰樺湪浜庡浣曚緷鎹鍚堜富閿潵鏌ヨ鏁版嵁錛屼緥濡備嬌鐢?span lang="EN-US">load()鏂規硶錛屾偍鍙互鍒涘緩涓涓?span lang="EN-US">User瀹炰緥錛屽茍璁懼畾澶嶅悎涓婚敭瀵瑰簲鐨勫睘鎬э紝鎺ョ潃鍐嶉忚繃load()鏌ヨ瀵瑰簲鐨勬暟鎹紝渚嬪錛?span lang="EN-US">
鍙互灝嗕富閿殑淇℃伅鐙珛涓轟竴涓被鍒紝渚嬪錛?span lang="EN-US">
UserPK.java
鐜板湪User綾誨埆鐨勪富閿俊鎭鍒嗙鍑烘潵浜嗭紝渚嬪錛?span lang="EN-US">
User.java
鍦ㄦ槧鍍忔枃浠舵柟闈紝闇瑕佹寚瀹氫富閿被鐨勪俊鎭紝渚嬪錛?span lang="EN-US">
User.hbm.xml
鍦ㄦ煡璇㈡暟鎹椂錛屽繀欏繪寚瀹氫富閿俊鎭紝渚嬪錛?span lang="EN-US">
寰堝浜哄浜岀駭緙撳瓨閮戒笉澶簡瑙o紝鎴栬呮槸鏈夐敊璇殑璁よ瘑錛屾垜涓鐩存兂鍐欎竴綃囨枃绔犱粙緇嶄竴涓媓ibernate鐨勪簩綰х紦瀛樼殑錛屼粖澶╃粓浜庡繊涓嶄綇浜嗐?
鎴戠殑緇忛獙涓昏鏉ヨ嚜hibernate2.1鐗堟湰錛屽熀鏈師鐞嗗拰3.0銆?.1鏄竴鏍風殑錛岃鍘熻皡鎴戠殑欏藉浐涓嶅寲銆?/p>
hibernate鐨剆ession鎻愪緵浜嗕竴綰х紦瀛橈紝姣忎釜session錛屽鍚屼竴涓猧d榪涜涓ゆload錛屼笉浼氬彂閫佷袱鏉ql緇欐暟鎹簱錛屼絾鏄痵ession鍏抽棴鐨勬椂鍊欙紝涓綰х紦瀛樺氨澶辨晥浜嗐?/p>
浜岀駭緙撳瓨鏄疭essionFactory綰у埆鐨勫叏灞緙撳瓨錛屽畠搴曚笅鍙互浣跨敤涓嶅悓鐨勭紦瀛樼被搴擄紝姣斿ehcache銆乷scache絳夛紝闇瑕佽緗甴ibernate.cache.provider_class錛屾垜浠繖閲岀敤ehcache錛屽湪2.1涓氨鏄?
hibernate.cache.provider_class=net.sf.hibernate.cache.EhCacheProvider
濡傛灉浣跨敤鏌ヨ緙撳瓨錛屽姞涓?
hibernate.cache.use_query_cache=true
緙撳瓨鍙互綆鍗曠殑鐪嬫垚涓涓狹ap錛岄氳繃key鍦ㄧ紦瀛橀噷闈㈡壘value銆?/p>
Class鐨勭紦瀛?/b>
瀵逛簬涓鏉¤褰曪紝涔熷氨鏄竴涓狿O鏉ヨ錛屾槸鏍規嵁ID鏉ユ壘鐨勶紝緙撳瓨鐨刱ey灝辨槸ID錛寁alue鏄疨OJO銆傛棤璁簂ist錛宭oad榪樻槸
iterate錛屽彧瑕佽鍑轟竴涓璞★紝閮戒細濉厖緙撳瓨銆備絾鏄痩ist涓嶄細浣跨敤緙撳瓨錛岃宨terate浼氬厛鍙栨暟鎹簱select
id鍑烘潵錛岀劧鍚庝竴涓猧d涓涓猧d鐨刲oad錛屽鏋滃湪緙撳瓨閲岄潰鏈夛紝灝變粠緙撳瓨鍙栵紝娌℃湁鐨勮瘽灝卞幓鏁版嵁搴搇oad銆傚亣璁炬槸璇誨啓緙撳瓨錛岄渶瑕佽緗細
<cache usage="read-write"/>
濡傛灉浣犱嬌鐢ㄧ殑浜岀駭緙撳瓨瀹炵幇鏄痚hcache鐨勮瘽錛岄渶瑕侀厤緗甧hcache.xml
<cache name="com.xxx.pojo.Foo" maxElementsInMemory="500"
eternal="false" timeToLiveSeconds="7200" timeToIdleSeconds="3600"
overflowToDisk="true" />
鍏朵腑eternal琛ㄧず緙撳瓨鏄笉鏄案榪滀笉瓚呮椂錛宼imeToLiveSeconds鏄紦瀛樹腑姣忎釜鍏冪礌錛堣繖閲屼篃灝辨槸涓涓狿OJO錛夌殑瓚呮椂鏃墮棿錛屽
鏋渆ternal="false"錛岃秴榪囨寚瀹氱殑鏃墮棿錛岃繖涓厓绱犲氨琚Щ璧頒簡銆倀imeToIdleSeconds鏄彂鍛嗘椂闂達紝鏄彲閫夌殑銆傚綋寰緙撳瓨閲岄潰put
鐨勫厓绱犺秴榪?00涓椂錛屽鏋渙verflowToDisk="true"錛屽氨浼氭妸緙撳瓨涓殑閮ㄥ垎鏁版嵁淇濆瓨鍦ㄧ‖鐩樹笂鐨勪復鏃舵枃浠墮噷闈€?
姣忎釜闇瑕佺紦瀛樼殑class閮借榪欐牱閰嶇疆銆傚鏋滀綘娌℃湁閰嶇疆錛宧ibernate浼氬湪鍚姩鐨勬椂鍊欒鍛婁綘錛岀劧鍚庝嬌鐢╠efaultCache鐨勯厤緗紝榪欐牱澶氫釜class浼氬叡浜竴涓厤緗?
褰撴煇涓狪D閫氳繃hibernate淇敼鏃訛紝hibernate浼氱煡閬擄紝浜庢槸縐婚櫎緙撳瓨銆?
榪欐牱澶у鍙兘浼氭兂錛屽悓鏍風殑鏌ヨ鏉′歡錛岀涓嬈″厛list錛岀浜屾鍐峣terate錛屽氨鍙互浣跨敤鍒扮紦瀛樹簡銆傚疄闄呬笂榪欐槸寰堥毦鐨勶紝鍥犱負浣犳棤娉曞垽鏂粈涔堟椂鍊?
鏄涓嬈★紝鑰屼笖姣忔鏌ヨ鐨勬潯浠墮氬父鏄笉涓鏍風殑錛屽亣濡傛暟鎹簱閲岄潰鏈?00鏉¤褰曪紝id浠?鍒?00錛岀涓嬈ist鐨勬椂鍊欏嚭浜嗗墠50涓猧d錛岀浜屾
iterate鐨勬椂鍊欏嵈鏌ヨ鍒?0鑷?0鍙穒d錛岄偅涔?0-50鏄粠緙撳瓨閲岄潰鍙栫殑錛?1鍒?0鏄粠鏁版嵁搴撳彇鐨勶紝鍏卞彂閫?+20鏉ql銆傛墍浠ユ垜涓鐩磋涓?
iterate娌℃湁浠涔堢敤錛屾繪槸浼氭湁1+N鐨勯棶棰樸?
錛堥澶栬瘽錛氭湁璇存硶璇村ぇ鍨嬫煡璇㈢敤list浼氭妸鏁翠釜緇撴灉闆嗚鍏ュ唴瀛橈紝寰堟參錛岃宨terate鍙猻elect
id姣旇緝濂斤紝浣嗘槸澶у瀷鏌ヨ鎬繪槸瑕佸垎欏墊煡鐨勶紝璋佷篃涓嶄細鐪熺殑鎶婃暣涓粨鏋滈泦瑁呰繘鏉ワ紝鍋囧涓欏?0鏉$殑璇濓紝iterate鍏遍渶瑕佹墽琛?1鏉¤鍙ワ紝list铏界劧閫夋嫨
鑻ュ共瀛楁錛屾瘮iterate絎竴鏉elect
id璇彞鎱竴浜涳紝浣嗗彧鏈変竴鏉¤鍙ワ紝涓嶈鍏ユ暣涓粨鏋滈泦hibernate榪樹細鏍規嵁鏁版嵁搴撴柟璦鍋氫紭鍖栵紝姣斿浣跨敤mysql鐨刲imit錛屾暣浣撶湅鏉ュ簲璇ヨ繕鏄?
list蹇傦級
濡傛灉鎯寵瀵筶ist鎴栬卛terate鏌ヨ鐨勭粨鏋滅紦瀛橈紝灝辮鐢ㄥ埌鏌ヨ緙撳瓨浜?/p>
鏌ヨ緙撳瓨
棣栧厛闇瑕侀厤緗甴ibernate.cache.use_query_cache=true
濡傛灉鐢╡hcache錛岄厤緗甧hcache.xml錛屾敞鎰廻ibernate3.0浠ュ悗涓嶆槸net.sf鐨勫寘鍚嶄簡
<cache name="net.sf.hibernate.cache.StandardQueryCache"
maxElementsInMemory="50" eternal="false" timeToIdleSeconds="3600"
timeToLiveSeconds="7200" overflowToDisk="true"/>
<cache name="net.sf.hibernate.cache.UpdateTimestampsCache"
maxElementsInMemory="5000" eternal="true" overflowToDisk="true"/>
鐒跺悗
query.setCacheable(true);//嬋媧繪煡璇㈢紦瀛?
query.setCacheRegion("myCacheRegion");//鎸囧畾瑕佷嬌鐢ㄧ殑cacheRegion錛屽彲閫?
絎簩琛屾寚瀹氳浣跨敤鐨刢acheRegion鏄痬yCacheRegion錛屽嵆浣犲彲浠ョ粰姣忎釜鏌ヨ緙撳瓨鍋氫竴涓崟鐙殑閰嶇疆錛屼嬌鐢╯etCacheRegion鏉ュ仛榪欎釜鎸囧畾錛岄渶瑕佸湪ehcache.xml閲岄潰閰嶇疆瀹冿細
<cache name="myCacheRegion" maxElementsInMemory="10"
eternal="false" timeToIdleSeconds="3600" timeToLiveSeconds="7200"
overflowToDisk="true" />
濡傛灉鐪佺暐絎簩琛岋紝涓嶈緗甤acheRegion鐨勮瘽錛岄偅涔堜細浣跨敤涓婇潰鎻愬埌鐨勬爣鍑嗘煡璇㈢紦瀛樼殑閰嶇疆錛屼篃灝辨槸net.sf.hibernate.cache.StandardQueryCache
瀵逛簬鏌ヨ緙撳瓨鏉ヨ錛岀紦瀛樼殑key鏄牴鎹甴ql鐢熸垚鐨剆ql錛屽啀鍔犱笂鍙傛暟錛屽垎欏電瓑淇℃伅錛堝彲浠ラ氳繃鏃ュ織杈撳嚭鐪嬪埌錛屼笉榪囧畠鐨勮緭鍑轟笉鏄緢鍙錛屾渶濂芥敼涓涓嬪畠鐨勪唬鐮侊級銆?
姣斿hql錛?
from Cat c where c.name like ?
鐢熸垚澶ц嚧濡備笅鐨剆ql錛?
select * from cat c where c.name like ?
鍙傛暟鏄?tiger%"錛岄偅涔堟煡璇㈢紦瀛樼殑key*澶х害*鏄繖鏍風殑瀛楃涓詫紙鎴戞槸鍑蹇嗗啓鐨勶紝騫朵笉綺劇‘錛屼笉榪囩湅浜嗕篃璇ユ槑鐧戒簡錛夛細
select * from cat c where c.name like ? , parameter:tiger%
榪欐牱錛屼繚璇佷簡鍚屾牱鐨勬煡璇€佸悓鏍風殑鍙傛暟絳夋潯浠朵笅鍏鋒湁涓鏍風殑key銆?
鐜板湪璇磋緙撳瓨鐨剉alue錛屽鏋滄槸list鏂瑰紡鐨勮瘽錛寁alue鍦ㄨ繖閲屽茍涓嶆槸鏁翠釜緇撴灉闆嗭紝鑰屾槸鏌ヨ鍑烘潵鐨勮繖涓涓睮D銆備篃灝辨槸璇達紝涓嶇鏄痩ist鏂?
娉曡繕鏄痠terate鏂規硶錛岀涓嬈℃煡璇㈢殑鏃跺欙紝瀹冧滑鐨勬煡璇㈡柟寮忓緢瀹冧滑騫蟲椂鐨勬柟寮忔槸涓鏍風殑錛宭ist鎵ц涓鏉ql錛宨terate鎵ц1+N鏉★紝澶氬嚭鏉ョ殑
琛屼負鏄畠浠~鍏呬簡緙撳瓨銆備絾鏄埌鍚屾牱鏉′歡絎簩嬈℃煡璇㈢殑鏃跺欙紝灝遍兘鍜宨terate鐨勮涓轟竴鏍蜂簡錛屾牴鎹紦瀛樼殑key鍘葷紦瀛橀噷闈㈡煡鍒頒簡value錛寁alue鏄?
涓涓瞚d錛岀劧鍚庡湪鍒癱lass鐨勭紦瀛橀噷闈㈠幓涓涓竴涓殑load鍑烘潵銆傝繖鏍峰仛鏄負浜嗚妭綰﹀唴瀛樸?
鍙互鐪嬪嚭鏉ワ紝鏌ヨ緙撳瓨闇瑕佹墦寮鐩稿叧綾葷殑class緙撳瓨銆俵ist鍜宨terate鏂規硶絎竴嬈℃墽琛岀殑鏃跺欙紝閮芥槸鏃㈠~鍏呮煡璇㈢紦瀛樺張濉厖class緙撳瓨鐨勩?
榪欓噷榪樻湁涓涓緢瀹規槗琚拷瑙嗙殑閲嶈闂錛屽嵆鎵撳紑鏌ヨ緙撳瓨浠ュ悗錛屽嵆浣挎槸list鏂規硶涔熷彲鑳介亣鍒?+N鐨勯棶棰橈紒鐩稿悓鏉′歡絎竴嬈ist鐨?
鏃跺欙紝鍥犱負鏌ヨ緙撳瓨涓壘涓嶅埌錛屼笉綆lass緙撳瓨鏄惁瀛樺湪鏁版嵁錛屾繪槸鍙戦佷竴鏉ql璇彞鍒版暟鎹簱鑾峰彇鍏ㄩ儴鏁版嵁錛岀劧鍚庡~鍏呮煡璇㈢紦瀛樺拰class緙撳瓨銆備絾鏄
浜屾鎵ц鐨勬椂鍊欙紝闂灝辨潵浜嗭紝濡傛灉浣犵殑class緙撳瓨鐨勮秴鏃舵椂闂存瘮杈冪煭錛岀幇鍦╟lass緙撳瓨閮借秴鏃朵簡錛屼絾鏄煡璇㈢紦瀛樿繕鍦紝閭d箞list鏂規硶鍦ㄨ幏鍙杋d涓蹭互
鍚庯紝灝嗕細涓涓竴涓幓鏁版嵁搴搇oad錛佸洜姝わ紝class緙撳瓨鐨勮秴鏃舵椂闂翠竴瀹氫笉鑳界煭浜庢煡璇㈢紦瀛樿緗殑瓚呮椂鏃墮棿錛佸鏋滆繕璁劇疆浜嗗彂鍛嗘椂闂寸殑璇濓紝淇濊瘉class緙撳瓨
鐨勫彂鍛嗘椂闂翠篃澶т簬鏌ヨ鐨勭紦瀛樼殑鐢熷瓨鏃墮棿銆傝繖閲岃繕鏈夊叾浠栨儏鍐碉紝姣斿class緙撳瓨琚▼搴忓己鍒秂vict浜嗭紝榪欑鎯呭喌灝辮鑷繁娉ㄦ剰浜嗐?/p>
鍙﹀錛屽鏋渉ql鏌ヨ鍖呭惈select瀛楀彞錛岄偅涔堟煡璇㈢紦瀛橀噷闈㈢殑value灝辨槸鏁翠釜緇撴灉闆嗕簡銆?/p>
褰揾ibernate鏇存柊鏁版嵁搴撶殑鏃跺欙紝瀹冩庝箞鐭ラ亾鏇存柊鍝簺鏌ヨ緙撳瓨鍛紵
hibernate鍦ㄤ竴涓湴鏂圭淮鎶ゆ瘡涓〃鐨勬渶鍚庢洿鏂版椂闂達紝鍏跺疄涔熷氨鏄斁鍦ㄤ笂闈et.sf.hibernate.cache.UpdateTimestampsCache鎵鎸囧畾鐨勭紦瀛橀厤緗噷闈€?
褰撻氳繃hibernate鏇存柊鐨勬椂鍊欙紝hibernate浼氱煡閬撹繖嬈℃洿鏂板獎鍝嶄簡鍝簺琛ㄣ傜劧鍚庡畠鏇存柊榪欎簺琛ㄧ殑鏈鍚庢洿鏂版椂闂淬傛瘡涓紦瀛橀兘鏈変竴涓敓鎴愭椂
闂村拰榪欎釜緙撳瓨鎵鏌ヨ鐨勮〃錛屽綋hibernate鏌ヨ涓涓紦瀛樻槸鍚﹀瓨鍦ㄧ殑鏃跺欙紝濡傛灉緙撳瓨瀛樺湪錛屽畠榪樿鍙栧嚭緙撳瓨鐨勭敓鎴愭椂闂村拰榪欎釜緙撳瓨鎵鏌ヨ鐨勮〃錛岀劧鍚庡幓鏌ユ壘榪?
浜涜〃鐨勬渶鍚庢洿鏂版椂闂達紝濡傛灉鏈変竴涓〃鍦ㄧ敓鎴愭椂闂村悗鏇存柊榪囦簡錛岄偅涔堣繖涓紦瀛樻槸鏃犳晥鐨勩?
鍙互鐪嬪嚭錛屽彧瑕佹洿鏂拌繃涓涓〃錛岄偅涔堝嚒鏄秹鍙婂埌榪欎釜琛ㄧ殑鏌ヨ緙撳瓨灝卞け鏁堜簡錛屽洜姝ゆ煡璇㈢紦瀛樼殑鍛戒腑鐜囧彲鑳戒細姣旇緝浣庛?/p>
Collection緙撳瓨
闇瑕佸湪hbm鐨刢ollection閲岄潰璁劇疆
<cache usage="read-write"/>
鍋囧class鏄疌at錛宑ollection鍙玞hildren錛岄偅涔坋hcache閲岄潰閰嶇疆
<cache name="com.xxx.pojo.Cat.children"
maxElementsInMemory="20" eternal="false" timeToIdleSeconds="3600" timeToLiveSeconds="7200"
overflowToDisk="true" />
Collection鐨勭紦瀛樺拰鍓嶉潰鏌ヨ緙撳瓨鐨刲ist涓鏍鳳紝涔熸槸鍙繚鎸佷竴涓瞚d錛屼絾瀹冧笉浼氬洜涓鴻繖涓〃鏇存柊榪囧氨澶辨晥錛屼竴涓猚ollection緙撳瓨浠呭湪榪欎釜collection閲岄潰鐨勫厓绱犳湁澧炲垹鏃舵墠澶辨晥銆?
榪欐牱鏈変竴涓棶棰橈紝濡傛灉浣犵殑collection鏄牴鎹煇涓瓧孌墊帓搴忕殑錛屽綋鍏朵腑涓涓厓绱犳洿鏂頒簡璇ュ瓧孌墊椂錛屽鑷撮『搴忔敼鍙樻椂錛宑ollection緙撳瓨閲岄潰鐨勯『搴忔病鏈夊仛鏇存柊銆?/p>
緙撳瓨絳栫暐
鍙緙撳瓨錛坮ead-only錛夛細娌℃湁浠涔堝ソ璇寸殑
璇?鍐欑紦瀛橈紙read-write錛?紼嬪簭鍙兘瑕佺殑鏇存柊鏁版嵁
涓嶄弗鏍肩殑璇?鍐欑紦瀛橈紙nonstrict-read-write錛夛細闇瑕佹洿鏂版暟鎹紝浣嗘槸涓や釜浜嬪姟鏇存柊鍚屼竴鏉¤褰曠殑鍙兘鎬у緢灝忥紝鎬ц兘姣旇鍐欑紦瀛樺ソ
浜嬪姟緙撳瓨錛坱ransactional錛夛細緙撳瓨鏀寔浜嬪姟錛屽彂鐢熷紓甯哥殑鏃跺欙紝緙撳瓨涔熻兘澶熷洖婊氾紝鍙敮鎸乯ta鐜錛岃繖涓垜娌℃湁鎬庝箞鐮旂┒榪?/p>
璇誨啓緙撳瓨鍜屼笉涓ユ牸璇誨啓緙撳瓨鍦ㄥ疄鐜頒笂鐨勫尯鍒湪浜庯紝璇誨啓緙撳瓨鏇存柊緙撳瓨鐨勬椂鍊欎細鎶婄紦瀛橀噷闈㈢殑鏁版嵁鎹㈡垚涓涓攣錛屽叾浠栦簨鍔″鏋滃幓鍙栫浉搴旂殑緙撳瓨鏁版嵁錛屽彂鐜拌閿佷綇浜嗭紝鐒跺悗灝辯洿鎺ュ彇鏁版嵁搴撴煡璇€?
鍦╤ibernate2.1鐨別hcache瀹炵幇涓紝濡傛灉閿佷綇閮ㄥ垎緙撳瓨鐨勪簨鍔″彂鐢熶簡寮傚父錛岄偅涔堢紦瀛樹細涓鐩磋閿佷綇錛岀洿鍒?0縐掑悗瓚呮椂銆?
涓嶄弗鏍艱鍐欑紦瀛樹笉閿佸畾緙撳瓨涓殑鏁版嵁銆?/p>
浣跨敤浜岀駭緙撳瓨鐨勫墠緗潯浠?/b>
浣犵殑hibernate紼嬪簭瀵規暟鎹簱鏈夌嫭鍗犵殑鍐欒闂潈錛屽叾浠栫殑榪涚▼鏇存柊浜嗘暟鎹簱錛宧ibernate鏄笉鍙兘鐭ラ亾鐨勩備綘鎿嶄綔鏁版嵁搴撳繀闇鐩存帴閫氳繃
hibernate錛屽鏋滀綘璋冪敤瀛樺偍榪囩▼錛屾垨鑰呰嚜宸變嬌鐢╦dbc鏇存柊鏁版嵁搴擄紝hibernate涔熸槸涓嶇煡閬撶殑銆俬ibernate3.0鐨勫ぇ鎵歸噺鏇存柊鍜屽垹
闄ゆ槸涓嶆洿鏂頒簩綰х紦瀛樼殑錛屼絾鏄嵁璇?.1宸茬粡瑙e喅浜嗚繖涓棶棰樸?
榪欎釜闄愬埗鐩稿綋鐨勬鎵嬶紝鏈夋椂鍊檋ibernate鍋氭壒閲忔洿鏂般佸垹闄ゅ緢鎱紝浣嗘槸浣犲嵈涓嶈兘鑷繁鍐檍dbc鏉ヤ紭鍖栵紝寰堥儊闂峰惂銆?
SessionFactory涔熸彁渚涗簡縐婚櫎緙撳瓨鐨勬柟娉曪紝浣犱竴瀹氳鑷繁鍐欎竴浜汮DBC鐨勮瘽錛屽彲浠ヨ皟鐢ㄨ繖浜涙柟娉曠Щ闄ょ紦瀛橈紝榪欎簺鏂規硶鏄細
void evict(Class persistentClass)
Evict all entries from the second-level cache.
void evict(Class persistentClass, Serializable id)
Evict an entry from the second-level cache.
void evictCollection(String roleName)
Evict all entries from the second-level cache.
void evictCollection(String roleName, Serializable id)
Evict an entry from the second-level cache.
void evictQueries()
Evict any query result sets cached in the default query cache region.
void evictQueries(String cacheRegion)
Evict any query result sets cached in the named query cache region.
涓嶈繃鎴戜笉寤鴻榪欐牱鍋氾紝鍥犱負榪欐牱寰堥毦緇存姢銆傛瘮濡備綘鐜板湪鐢↗DBC鎵歸噺鏇存柊浜嗘煇涓〃錛屾湁3涓煡璇㈢紦瀛樹細鐢ㄥ埌榪欎釜琛紝鐢╡victQueries
(String cacheRegion)縐婚櫎浜?涓煡璇㈢紦瀛橈紝鐒跺悗鐢╡vict(Class
persistentClass)縐婚櫎浜哻lass緙撳瓨錛岀湅涓婂幓濂藉儚瀹屾暣浜嗐備笉榪囧摢澶╀綘娣誨姞浜嗕竴涓浉鍏蟲煡璇㈢紦瀛橈紝鍙兘浼氬繕璁版洿鏂拌繖閲岀殑縐婚櫎浠g爜銆傚鏋滀綘鐨?
jdbc浠g爜鍒板閮芥槸錛屽湪浣犳坊鍔犱竴涓煡璇㈢紦瀛樼殑鏃跺欙紝榪樼煡閬撳叾浠栦粈涔堝湴鏂逛篃瑕佸仛鐩稿簲鐨勬敼鍔ㄥ悧錛?/p>
----------------------------------------------------
鎬葷粨錛?/b>
涓嶈鎯沖綋鐒剁殑浠ヤ負緙撳瓨涓瀹氳兘鎻愰珮鎬ц兘錛屼粎浠呭湪浣犺兘澶熼┚椹畠騫朵笖鏉′歡鍚堥傜殑鎯呭喌涓嬫墠鏄繖鏍風殑銆俬ibernate鐨勪簩綰х紦瀛橀檺鍒惰繕鏄瘮杈冨鐨勶紝涓嶆柟渚跨敤jdbc鍙兘浼氬ぇ澶х殑闄嶄綆鏇存柊鎬ц兘銆傚湪涓嶄簡瑙e師鐞嗙殑鎯呭喌涓嬩貢鐢紝鍙兘浼氭湁1+N鐨勯棶棰樸備笉褰撶殑浣跨敤榪樺彲鑳藉鑷磋鍑鴻剰鏁版嵁銆?
濡傛灉鍙椾笉浜唄ibernate鐨勮澶氶檺鍒訛紝閭d箞榪樻槸鑷繁鍦ㄥ簲鐢ㄧ▼搴忕殑灞傞潰涓婂仛緙撳瓨鍚с?
鍦ㄨ秺楂樼殑灞傞潰涓婂仛緙撳瓨錛屾晥鏋滃氨浼氳秺濂姐傚氨濂藉儚灝界紓佺洏鏈夌紦瀛橈紝鏁版嵁搴撹繕鏄瀹炵幇鑷繁鐨勭紦瀛橈紝灝界鏁版嵁搴撴湁緙撳瓨錛屽挶浠殑搴旂敤紼嬪簭榪樻槸瑕佸仛緙撳瓨銆傚洜涓?
搴曞眰鐨勭紦瀛樺畠騫朵笉鐭ラ亾楂樺眰瑕佺敤榪欎簺鏁版嵁騫蹭粈涔堬紝鍙兘鍋氱殑姣旇緝閫氱敤錛岃岄珮灞傚彲浠ユ湁閽堝鎬х殑瀹炵幇緙撳瓨錛屾墍浠ュ湪鏇撮珮鐨勭駭鍒笂鍋氱紦瀛橈紝鏁堟灉涔熻濂戒簺鍚с?/p>
緇堜簬鍐欏畬浜嗭紝濂界瘡鈥︹?/p>