Hibernate鍜孞DBC銆丒JB姣旇緝
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate鍜孞DBC銆丒JB姣旇緝相关的知识,希望对你有一定的参考价值。
鏍囩锛?/p>
鍙傝€?http://m.blog.csdn.net/article/details?id=7228061
涓€銆丠ibernate鏄疛DBC鐨勮交閲忕骇鐨勫璞″皝瑁咃紝瀹冩槸涓€涓嫭绔嬬殑瀵硅薄鎸佷箙灞傛鏋讹紝鍜孉pp Server锛屽拰EJB娌℃湁浠€涔堝繀鐒剁殑鑱旂郴銆侶ibernate鍙互鐢ㄥ湪浠讳綍JDBC鍙互浣跨敤鐨勫満鍚堬紝渚嬪Java搴旂敤绋嬪簭鐨勬暟鎹簱璁块棶浠g爜锛孌AO鎺ュ彛鐨勫疄鐜扮被锛岀敋鑷冲彲浠ユ槸BMP閲岄潰鐨勮闂暟鎹簱鐨勪唬鐮併€備粠杩欎釜鎰忎箟涓婃潵璇达紝Hibernate鍜孍B涓嶆槸涓€涓寖鐣寸殑涓滆タ锛屼篃涓嶅瓨鍦ㄩ潪姝ゅ嵆褰肩殑鍏崇郴銆?nbsp;
浜屻€丠ibernate鏄竴涓拰JDBC瀵嗗垏鍏宠仈鐨勬鏋讹紝鎵€浠ibernate鐨勫吋瀹规€у拰JDBC椹卞姩锛屽拰鏁版嵁搴撻兘鏈変竴瀹氱殑鍏崇郴锛屼絾鏄拰浣跨敤瀹冪殑Java绋嬪簭锛屽拰App Server娌℃湁浠讳綍鍏崇郴锛屼篃涓嶅瓨鍦ㄥ吋瀹规€ч棶棰樸€?nbsp;
涓夈€丠ibernate涓嶈兘鐢ㄦ潵鐩存帴鍜孍ntity Bean鍋氬姣旓紝鍙湁鏀惧湪鏁翠釜J2EE椤圭洰鐨勬鏋朵腑鎵嶈兘姣旇緝銆傚苟涓斿嵆浣挎槸鏀惧湪杞欢鏁翠綋妗嗘灦涓潵鐪嬶紝Hibernate涔熸槸鍋氫负JDBC鐨勬浛浠h€呭嚭鐜扮殑锛岃€屼笉鏄疎ntity Bean鐨勬浛浠h€呭嚭鐜扮殑锛岃鎴戝啀鍒椾竴娆℃垜宸茬粡鍒梟娆$殑妗嗘灦缁撴瀯锛?nbsp;
浼犵粺鐨勬灦鏋勶細
1) Session Bean <-> Entity Bean <-> DB
涓轰簡瑙e喅鎬ц兘闅滅鐨勬浛浠f灦鏋勶細
2) Session Bean <-> DAO <-> JDBC <-> DB
浣跨敤Hibernate鏉ユ彁楂樹笂闈㈡灦鏋勭殑寮€鍙戞晥鐜囩殑鏋舵瀯锛?nbsp;
3) Session Bean <-> DAO <-> Hibernate <-> DB
灏变笂闈?涓灦鏋勬潵鍒嗘瀽锛?nbsp;
1銆佸唴瀛樻秷鑰楋細閲囩敤JDBC鐨勬灦鏋?鏃犵枒鏄渶鐪佸唴瀛樼殑锛孒ibernate鐨勬灦鏋?娆′箣锛孍B鐨勬灦鏋?鏈€宸€?nbsp;
2銆佽繍琛屾晥鐜囷細濡傛灉JDBC鐨勪唬鐮佸啓鐨勯潪甯镐紭鍖栵紝閭d箞JDBC鏋舵瀯杩愯鏁堢巼鏈€楂橈紝浣嗘槸瀹為檯椤圭洰涓紝杩欎竴鐐瑰嚑涔庡仛涓嶅埌锛岃繖闇€瑕佺▼搴忓憳闈炲父绮鹃€欽DBC锛岃繍鐢˙atch璇彞锛岃皟鏁碢reapredStatement鐨凚atch Size鍜孎etch Size绛夊弬鏁帮紝浠ュ強鍦ㄥ繀瑕佺殑鎯呭喌涓嬮噰鐢ㄧ粨鏋滈泦cache绛夌瓑銆傝€屼竴鑸儏鍐典笅绋嬪簭鍛樻槸鍋氫笉鍒拌繖涓€鐐圭殑銆傚洜姝ibernate鏋舵瀯琛ㄧ幇鍑烘渶蹇殑杩愯鏁堢巼銆侲B鐨勬灦鏋勬晥鐜囦細宸殑寰堣繙銆?nbsp;
3銆佸紑鍙戞晥鐜囷細鍦ㄦ湁JBuilder鐨勬敮鎸佷笅浠ュ強绠€鍗曠殑椤圭洰锛孍B鏋舵瀯寮€鍙戞晥鐜囨渶楂橈紝JDBC娆′箣锛孒ibernate鏈€宸€備絾鏄湪澶х殑椤圭洰锛岀壒鍒槸鎸佷箙灞傚叧绯绘槧灏勫緢澶嶆潅鐨勬儏鍐典笅锛孒ibernate鏁堢巼楂樼殑鎯婁汉锛孞DBC娆′箣锛岃€孍B鏋舵瀯寰堝彲鑳戒細澶辫触銆?nbsp;
4銆佸垎甯冨紡锛屽畨鍏ㄦ鏌ワ紝闆嗙兢锛岃礋杞藉潎琛$殑鏀寔
鐢变簬鏈塖B鍋氫负Facade锛?涓灦鏋勬病鏈夊尯鍒€?nbsp;
鍥涖€丒B鍜孒ibernate瀛︿範闅惧害鍦ㄥ摢閲岋紵
EB鐨勯毦搴﹀湪鍝噷锛熶笉鍦ㄥ鏉傜殑XML閰嶇疆鏂囦欢涓婏紝鑰屽湪浜嶦B杩愮敤绋嶅井涓嶆厧锛屽氨鏈変弗閲嶇殑鎬ц兘闅滅銆傛墍浠ラ毦鍦ㄤ綘闇€瑕佸涔犲緢澶欵JB璁捐妯″紡鏉ラ伩寮€鎬ц兘闂锛岄渶瑕佸涔燗pp Server鍜孍B鐨勯厤缃潵浼樺寲EB鐨勮繍琛屾晥鐜囥€傚仛EB鐨勫紑鍙戝伐浣滐紝绋嬪簭鍛樼殑澶ч儴鍒嗙簿鍔涢兘琚斁鍒颁簡EB鐨勬€ц兘闂涓婁簡锛屽弽鑰屾病鏈夋洿澶氱殑绮惧姏鍏虫敞鏈韩灏变富瑕佹姇鍏ョ簿鍔涘幓鑰冭檻鐨勫璞℃寔涔呭眰鐨勮璁′笂鏉ャ€?nbsp;
Hibernate闅惧湪鍝噷锛熶笉鍦℉ibernate鏈韩鐨勫鏉傦紝瀹為檯涓奌ibernate闈炲父鐨勭畝鍗曪紝闅惧湪Hibernate澶伒娲讳簡銆?nbsp;
褰撲綘鐢‥B鏉ュ疄鐜版寔涔呭眰鐨勬椂鍊欙紝浣犱細鍙戠幇EB瀹炲湪鏄お绗ㄦ嫏浜嗭紝绗ㄦ嫏鍒颁綘鏍规湰娌℃湁浠€涔堝彲浠ラ€夋嫨鐨勪綑鍦帮紝鎵€浠ヤ綘鏍规湰灏变笉鐢ㄨ姳璐圭簿鍔涘幓璁捐鏂规锛屽幓骞宠 鏂规鐨勫ソ鍧忥紝鍘昏垂鑴戠瓔鑰冭檻閫夋嫨鍝釜鏂规锛屽洜涓哄彧鏈夊敮涓€鐨勬柟妗堟憜鍦ㄤ綘闈㈠墠锛屼綘鍙兘杩欎箞鍋氾紝娌″緱閫夋嫨銆?nbsp;
Hibernate鐩稿弽锛屽畠澶伒娲讳簡锛岀浉鍚岀殑闂锛屼綘鑷冲皯鍙互璁捐鍑哄崄鍑犵鏂规鏉ヨВ鍐筹紝鎵€浠ョ壒鍒殑鐘毦锛岀┒绔熺敤杩欎釜锛岃繕鏄敤閭d釜鍛紵杩欎簺鏂规涔嬮棿鍒板簳鏈変粈涔堝尯鍒憿锛熶粬浠殑杩愯鍘熺悊鏈変粈涔堜笉鍚岋紵杩愯鏁堢巼鍝釜姣旇緝濂斤紵鍏夋槸涓婚敭鐢熸垚锛屽氨鏈変竷鍏鏂规渚涗綘閫夋嫨锛屼綘涓洪毦涓嶄负闅撅紵闆嗗悎灞炴€у彲浠ョ敤Set锛屽彲浠ョ敤List锛岃繕鍙互鐢˙ag锛屽埌搴曞摢涓晥鐜囬珮锛屼綘涓洪毦涓嶄负闅撅紵鏌ヨ鍙互鐢╥terator锛屽彲浠ョ敤list锛屽摢涓ソ锛屾湁浠€涔堝尯鍒紵浣犱负闅句笉涓洪毦锛熷鍚堜富閿綘鍙互鐩存帴鍦╤bm閲岄潰閰嶇疆锛屼篃鍙互鑷畾涔塁ustomerType锛屽摢绉嶆瘮杈冨ソ浜涳紵浣犱负闅句笉涓洪毦锛熷浜庝竴涓〃锛屼綘鍙互閫夋嫨鍗曚竴鏄犲皠涓€涓璞★紝涔熷彲浠ユ槧灏勬垚鐖跺瓙瀵硅薄锛岃繕鍙互鏄犲皠鎴愪袱涓?:1鐨勫璞★紝鍦ㄤ粈涔堟儏鍐典笅鐢ㄥ摢绉嶆柟妗堟瘮杈冨ソ锛屼綘涓洪毦涓嶄负闅撅紵
杩欎釜鍒楄〃鍙互涓€鐩村紑鍒椾笅鍘伙紝鐩村埌浣犱笉鎯冲啀鐪嬩笅鍘讳负姝€傚綋浣犻潰鍓嶆憜鐫€鏃犳暟鐨勭溂鑺辩辑涔辩殑鏂规鐨勬椂鍊欙紝浣犱細瑙夊緱骞哥鍛紵杩樻槸鎮插搥鍛紵濡傛灉浣犳槸涓€涓礋璐g殑绋嬪簭鍛橈紝閭d箞浣犱竴瀹氫細浠旂粏鐮旂┒姣忕鏂规鐨勫尯鍒紝姣忕鏂规鐨勬晥鐜囷紝姣忕鏂规鐨勯€傜敤鍦哄悎锛屼綘浼氳寰椾綘宸茬粡闄峰叆杩涘幓鎷斾笉鍑烘潵浜嗐€傚鏋滄槸鐢‥B锛屼綘绗竴绉掔灏卞凡缁忓仛鍑轰簡鍐冲畾锛屾牴鏈病寰楅€夋嫨锛屾瘮濡傝闆嗗悎灞炴€э紝浣犲彧鑳界敤Collection锛屽鏋滄槸Hibernate锛屼綘浼氬湪Bag锛孡ist鍜孲et涔嬮棿鏉ュ洖鐘硅鲍涓嶅喅锛岀敋鑷虫悶涓嶆竻妤氱殑璇濓紝绋嬪簭閮芥病鏈夊姙娉曞啓銆?/p>
甯哥敤鐨勬暟鎹簱鎿嶄綔鍖呮嫭锛欽DBC銆丒JB銆丣DO浠ュ強Hibernate銆傚畠鐨勫悇鏈変紭缂虹偣锛?nbsp;
(1) JDBC锛氬鏁癑ava寮€鍙戜汉鍛樻槸鐢↗DBC鏉ュ拰鏁版嵁搴撹繘琛岄€氫俊锛屽畠鍙互閫氳繃DAO妯″紡杩涜鏀瑰杽鍜屾彁楂樸€備絾杩欑鏂瑰紡鍦ㄥぇ鍨嬪簲鐢ㄧ▼搴忎腑涓嶅鏄撴搷浣滀娇鐢紝涓旂淮鎶よ捣鏉ョ浉褰撳洶闅俱€?nbsp;
(2) EJB锛欵JB閫氬父鏄湪鏁版嵁鎸佷箙鎶€鏈笂鐨勭浜屼釜閫夋嫨锛屽畠鏄€氳繃entitybeans鏉ュ鏁版嵁杩涜鎸佷箙鍖栥€傞鍏堝氨闇€瑕佽喘涔颁竴涓环浣嶅悎鐞嗙殑EJB瀹瑰櫒涓€J2EE搴旂敤鏈嶅姟鍣紝涔熷彲浠ラ噰鐢ㄥ紑婧愰」鐩殑鍏嶈垂EJB瀹瑰櫒锛屾瘮濡侸BOSS銆備絾鏄緢澶氬晢涓欵JB瀹瑰櫒鐨勬€ц兘鍜屾妧鏈敮鎸佷笉澶ソ锛屽湪EJB涓疄鐜癑DBC涔熸瘮杈冨鏉傘€?nbsp;
(3) JDO锛欽DO鐨勫嚭鐜颁技涔庢湁浜嗕竴浜涙敼瑙傦紝浣嗘槸锛孞DO娌℃湁涓€涓ソ鐨勫紑婧愬厤璐瑰疄鐜般€傚ソ鐨勪骇鍝侀儴鏄晢涓氫骇鍝侊紝骞朵笖鍦ㄥ浗鍐呮病鏈夐攢鍞拰鎶€鏈敮鎸併€侸DO涔熶笉鏄竴涓交閲忕骇灏佽锛庡畠寤虹珛鐨勬寔涔呭眰妗嗘灦锛屽緢涓嶅畬鍠勩€傚啀鍔犱笂JDO鐨勬爣鍑嗚繕寰堜笉瀹屽杽浠ュ強涓ラ噸鐨勪骇鍝佸垎瑁傞棶棰橈紝浣垮緱寰堝鎿嶄綔鏂瑰紡寰堟槸鐑︾悙銆?nbsp;
(4) Hibernate锛欻ibernate杩欑鎸佷箙妗嗘灦鍦ㄦ煇浜涙柟闈㈡湁寰堝ぇ鐨勪笉鍚岋紝瀹冧笉闇€瑕佷换浣曞鍣紝鎻愪緵绠€鍗曟槗鐢ㄧ殑API锛屼篃瑙e喅浜咼DO鐨勫緢澶氱己闄枫€備綔涓轰竴涓壇濂界殑ORM 锛屽畠鏈夊涓嬬壒鐐癸細
閫忔槑鍦版彁渚涘璞′笌鍏崇郴鏁版嵁搴撶殑鏄犲皠锛屼互缁熶竴鐨勬帴鍙f柟寮忔敮鎸佸绉嶆暟鎹簱銆?nbsp;
缂撳瓨鏈哄埗锛屽鏉傜殑缂撳瓨鏈哄埗鍜岄攣瀹氱瓥鐣ワ紝浣块拡瀵规暟鎹簱鎿嶄綔澶уぇ鍑忓皯銆?nbsp;
寮€婧愬厤璐圭殑License锛屽彲浠ュ湪闇€瑕佺殑鏃跺€欑爺绌舵簮浠g爜锛屾敼鍐欐簮浠g爜锛岃繘琛屽姛鑳界殑瀹氬埗銆?nbsp;
杞婚噺绾у皝瑁咃紝閬垮厤寮曞叆杩囧澶嶆潅鐨勯棶棰橈紝瀹规槗璋冭瘯锛屽噺杞荤▼搴忓憳鐨勮礋鎷呫€?nbsp;
鍏锋湁鍙墿灞曟€э紝API寮€鏀撅紝褰撴湰韬姛鑳戒笉澶熺敤鐨勬椂鍊欙紝鍙互鑷缂栫爜鎵╁睍銆?nbsp;
寮€鍙戣€呮椿璺冿紝浜у搧鏈夌ǔ瀹氱殑鍙戝睍淇濋殰銆?/span>
以上是关于Hibernate鍜孞DBC銆丒JB姣旇緝的主要内容,如果未能解决你的问题,请参考以下文章
websphere启动报/WEB-INF/applicationContext-orm- hibernate.xml]: Could not resolve placeholder 'hibe