锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
銆銆鍒涘緩鏁版嵁搴?br />
銆銆CREATE {DATABASE | SCHEMA} db_name
銆銆| [DEFAULT] COLLATE collation_name
銆銆CREATE TABLE 銆銆鍒涘緩鏁版嵁搴撹〃鏍?br />
銆銆CREATE [TEMPORARY] TABLE tbl_name
銆銆ALTER TABLE
銆銆淇敼鏁版嵁搴撹〃鏍?br />
銆銆ALTER TABLE tbl_name
銆銆ADD [COLUMN] column_definition [FIRST | AFTER col_name ]
銆銆| ADD [COLUMN] (column_definition,...)
銆銆| ADD INDEX (index_col_name,...)
銆銆| ADD [CONSTRAINT [symbol]]
銆銆PRIMARY KEY (index_col_name,...)
銆銆| ADD [CONSTRAINT [symbol]]
銆銆UNIQUE (index_col_name,...)
銆銆| ADD (index_col_name,...)
銆銆| ADD [CONSTRAINT [symbol]]
銆銆FOREIGN KEY (index_col_name,...)
銆銆[reference_definition]
銆銆| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
銆銆| CHANGE [COLUMN] old_col_name column_definition
銆銆[FIRST|AFTER col_name]
銆銆| MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]
銆銆| DROP [COLUMN] col_name
銆銆| DROP PRIMARY KEY
銆銆| DROP INDEX index_name
銆銆| DROP FOREIGN KEY fk_symbol
銆銆| DISABLE KEYS
銆銆| ENABLE KEYS
銆銆| RENAME [TO] new_tbl_name
銆銆| ORDER BY col_name
銆銆| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
銆銆| [DEFAULT] CHARACTER SET charset_name [COLLATE collation_name]
銆銆| DISCARD TABLESPACE
銆銆| IMPORT TABLESPACE
銆銆DROP TABLE
銆銆鍒犻櫎鏁版嵁搴撹〃鏍?br />
銆銆DROP [TEMPORARY] TABLE
銆銆tbl_name [, tbl_name] ...
銆銆[RESTRICT | CASCADE]
銆銆CREATE VIEW
銆銆鍒涘緩瑙嗗浘
銆銆CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
銆銆VIEW view_name [(column_list)]
銆銆[WITH [CASCADED | LOCAL] CHECK OPTION]
銆銆ALTER VIEW
銆銆淇敼瑙嗗浘
銆銆ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
銆銆VIEW view_name [(column_list)]
銆銆AS select_statement
銆銆[WITH [CASCADED | LOCAL] CHECK OPTION]
銆銆DROP VIEW
銆銆鍒犻櫎瑙嗗浘
銆銆DROP VIEW
銆銆view_name [, view_name] ...
銆銆[RESTRICT | CASCADE]
]]>
鎴戝叾瀹為兘鏄竴鐩村厛緙栧啓鎸佷箙鍖栫被鍜屾槧灝勬枃浠訛紝鐒跺悗浣跨敤SchemaExport宸ュ叿鐢熸垚鏁版嵁搴撴灦鏋勩傝繖鏍風殑鏂瑰紡灝辨槸棰嗗煙椹卞姩璁捐/寮鍙?DDD錛孌omain Driven Design/Development)銆傛垜鐨勭悊瑙f槸緋葷粺鐨勮璁″簲璇ュ熀浜庡璞℃ā鍨嬶紝涓昏鑰冭檻瀵硅薄鐨勮璁″拰閫昏緫涓婏紝鐒跺悗鎸夌収瀵硅薄妯″瀷寤虹珛鏁版嵁搴撳叧緋繪ā鍨嬶紝榪欐墠鏄幇鍦ㄩ潰鍚戝璞″紑鍙戠殑姝ラ錛屽茍涓嶆槸涓婁竴綃囧厛璁捐鏁版嵁搴撶劧鍚庡啀璁捐瀵硅薄銆傜敤涓騫呭浘鍙互褰㈣薄鐨勮鏄庨鍩熼┍鍔ㄨ璁★細
褰撳湪璁捐鏃訛紝鎴戜滑鐨勯鍩熸ā鍨嬮渶瑕佹敼鍙橈紝鍙渶淇敼NHibernate緇撴瀯鍜屽簲鐢ㄧ▼搴忥紝涓嶉渶瑕佷慨鏀規暟鎹簱鏋舵瀯錛屽彧瑕佸埄鐢⊿chemaExport宸ュ叿閲嶆柊鐢熸垚鏁版嵁搴撴灦鏋勫氨鍙互浜嗐備絾鏄嬌鐢ㄦ暟鎹簱鍙槸鍏朵腑涓縐嶆柟寮忥紝鎴戜滑涔熷彲浠ヤ嬌鐢╔ML鏂囦歡鏉ュ瓨鍌ㄦ暟鎹?/p>
NHibernate鐨刪bm2dll鎻愪緵SchemaExport宸ュ叿錛氱粰瀹氫竴涓繛鎺ュ瓧絎︿覆鍜屾槧灝勬枃浠訛紝涓嶉渶杈撳叆鍏朵粬涓滆タ灝卞彲浠ユ寜鐓ф寔涔呭寲綾誨拰鏄犲皠鏂囦歡鑷姩鐢熸垚鏁版嵁搴撴灦鏋勶紝鐜板湪SchemaExport宸ュ叿榪樹笉鏄緢寮哄ぇ錛屼絾鏄竴鑸簲鐢ㄨ凍澶熶簡錛屽畠榪樻槸涓涓浉褰撳師濮嬬殑API榪樺湪涓嶆柇鏀硅繘銆?/p>
SchemaExport宸ュ叿灝辨槸鎶奃DL鑴氭湰杈撳嚭鍒版爣鍑嗚緭鍑猴紝鍚屾椂/鎴栬呮墽琛孌DL璇彞銆係chemaExport宸ュ叿鎻愪緵浜嗕笁涓柟娉曪紝鍒嗗埆鏄疍rop()銆丆reate()銆丒xecute()錛屽墠涓や釜鏂規硶瀹炶川鏄皟鐢‥xecute()鏂規硶銆傞氬父浣跨敤Execute()鏂規硶鏉ョ敓鎴愭暟鎹簱鏋舵瀯鐨勩?/p>
鍦∟Hibernate2.0涓柊娣誨姞SchemaUpdate宸ュ叿錛屽彲浠ョ敤鏉ユ洿鏂版暟鎹簱鏋舵瀯銆備絾鏄垜瑙夊緱娌℃湁浠涔堜綔鐢紝鍥犱負瀹冧笉鑳紻rop鐜版湁鐨勮〃鎴栧垪錛屼篃涓嶈兘鏇存柊鐜版湁鐨勫垪錛屽彧鑳芥坊鍔犳柊鐨勮〃鍜屽垪銆傚鏋滄垜闇瑕佸垹闄よ〃鎴栬呭垪鎴栬呬慨鏀瑰叾涓垪錛孲chemaUpdate宸ュ叿灝辨樉寰楁棤鑳戒負鍔涗簡銆?/p>
鐭ラ亾浜嗕笂闈㈢殑鐭ヨ瘑灝卞ソ濂藉疄鎴樹竴涓嬶細鐪嬬湅鍏蜂綋鎬庝箞浣跨敤鍛紵
閫氬父鎴戜滑浣跨敤鐢熸垚鏁版嵁搴撴灦鏋勪唬鐮佸疄渚嬪儚榪欐牱錛?/p>
Configuration cfg=new Configuration(); cfg.Configure(); SchemaExport export =new SchemaExport(cfg); export.Execute(....);
1.鍑嗗宸ヤ綔
鐜板湪鏁版嵁璁塊棶嫻嬭瘯灞傛柊寤轟竴SchemaExportFixture.cs鏂囦歡鐢ㄤ簬嫻嬭瘯鐢熸垚瀹炴垬銆傚0鏄庝竴涓叏灞鍙橀噺_cfg錛岀紪鍐?nbsp;[SetUp]鏂規硶鍦ㄦ瘡涓祴璇曟柟娉曟墽琛屼箣鍓嶈皟鐢細
TestFixture] public class SchemaExportFixture { private Configuration _cfg; [SetUp] public void SetupContext() { _cfg = new Configuration(); _cfg.Configure(); } //嫻嬭瘯...... }
2.嫻嬭瘯Drop(script, export)鏂規硶
Test] public void DropTest() { var export = new SchemaExport(_cfg); export.Drop(true, true); }
Drop(script, export)鏂規硶鏍規嵁鎸佷箙綾誨拰鏄犲皠鏂囦歡鎵ц鍒犻櫎鏁版嵁搴撴灦鏋勩傛湁涓や釜鍙傛暟錛岀涓涓負True灝辨槸鎶奃DL璇彞杈撳嚭鍒版帶鍒跺彴錛岀浜屼釜涓篢rue灝辨槸鏍規嵁鎸佷箙綾誨拰鏄犲皠鏂囦歡鎵ц鍒犻櫎鏁版嵁搴撴灦鏋勬搷浣滐紝緇忚繃璋冭瘯鍙互鍙戠幇Drop(script, export)鏂規硶鍏跺疄璐ㄦ槸鎵ц浜咵xecute(script, export, true, true)鏂規硶銆?/p>
3.嫻嬭瘯Create(script, export)鏂規硶
Test] public void CreateTest() { var export = new SchemaExport(_cfg); export.Create(true, true); }
Create(script,export)鏂規硶鏍規嵁鎸佷箙綾誨拰鏄犲皠鏂囦歡鍏堝垹闄ゆ灦鏋勫悗鍒涘緩鍒犻櫎鏁版嵁搴撴灦鏋勩傛湁涓や釜鍙傛暟錛岀涓涓負True灝辨槸鎶奃DL璇彞杈撳嚭鍒版帶鍒跺彴錛岀浜屼釜涓篢rue灝辨槸鏍規嵁鎸佷箙綾誨拰鏄犲皠鏂囦歡鍏堟墽琛屽垹闄ゅ啀鎵ц鍒涘緩鎿嶄綔錛岀粡榪囪皟璇曞彲浠ュ彂鐜拌繖涓柟娉曞叾瀹炶川鏄墽琛孍xecute(script,export, false, true)鏂規硶銆?/p>
4.嫻嬭瘯Execute(script, export, justDrop, format)鏂規硶
Test] public void ExecuteTest() { var export = new SchemaExport(_cfg); export.Execute(true, true, false, false); }
Execute(script, export, justDrop, format)鏂規硶鏍規嵁鎸佷箙綾誨拰鏄犲皠鏂囦歡鍏堝垹闄ゆ灦鏋勫悗鍒涘緩鍒犻櫎鏁版嵁搴撴灦鏋勩傛湁鍥涗釜鍙傛暟錛岀涓涓負True灝辨槸鎶奃DL璇彞杈撳嚭鍒版帶鍒跺彴錛涚浜屼釜涓篢rue灝辨槸鏍規嵁鎸佷箙綾誨拰鏄犲皠鏂囦歡鍦ㄦ暟鎹簱涓厛鎵ц鍒犻櫎鍐嶆墽琛屽垱寤烘搷浣滐紱絎笁涓負false琛ㄧず涓嶆槸浠呬粎鎵цDrop璇彞榪樻墽琛屽垱寤烘搷浣滐紝榪欎釜鍙傛暟鐨勪笉鍚屽氨鎵╁睍浜嗕笂闈袱涓柟娉曪紱絎洓涓弬鏁頒負false琛ㄧず涓嶆槸鏍煎紡鍖栬緭鍑篋DL璇彞鍒版帶鍒跺彴錛屾槸鍦ㄤ竴琛岃緭鍑虹殑銆?/p>
鎵璋撴牸寮忓寲杈撳嚭灝卞儚榪欐牱錛?/p>
涓琛岃緭鍑哄氨鍍忚繖鏍鳳細
5.嫻嬭瘯Execute(script, export, justDrop, format, connection, exportOutput)鏂規硶
Test] public void ExecuteOutTest() { var export = new SchemaExport(_cfg); var sb = new StringBuilder(); TextWriter output = new StringWriter(sb); export.Execute(true, false, false, false, null, output); }
Execute(script, export, justDrop, format, connection, exportOutput)鏂規硶鏍規嵁鎸佷箙綾誨拰鏄犲皠鏂囦歡鍏堝垹闄ゆ灦鏋勫悗鍒涘緩鍒犻櫎鏁版嵁搴撴灦鏋勩傛湁鍏釜鍙傛暟錛岀涓涓負True灝辨槸鎶奃DL璇彞杈撳嚭鍒版帶鍒跺彴錛涚浜屼釜涓篺alse灝辨槸涓嶆墽琛孌DL璇彞錛涚浜斾釜涓鴻嚜瀹氫箟榪炴帴銆傚綋export涓簍rue鎵ц璇彞鏃跺繀欏繪墦寮榪炴帴銆傝鏂規硶涓嶅叧闂繛鎺ワ紝null灝辨槸浣跨敤榛樿榪炴帴錛屾渶鍚庝竴涓弬鏁拌嚜瀹氫箟杈撳嚭錛岃繖閲屾垜杈撳嚭鍒癟extWriter涓?/p>
鐜板湪鏁版嵁璁塊棶嫻嬭瘯灞傛柊寤轟竴SchemaUpdateFixture.cs鏂囦歡鐢ㄤ簬嫻嬭瘯鐢熸垚瀹炴垬銆傚厛澹版槑涓涓叏灞鍙橀噺_cfg錛?/p>
private Configuration _cfg;
榪欓噷鎴戠敤鍙﹀涓縐嶆柟寮忛厤緗槧灝勬枃浠訛紝鍏堝畾涔変袱涓槧灝刋ML鍒嗗埆浠h〃鏃х殑鍜屾柊鐨勮繖鏍鋒墠鑳戒綋鐜版祴璇曟洿鏂版暟鎹簱鏋舵瀯鐨勬剰涔夈?/p>
鏃ф槧灝刋ML錛氳繖閲屾垜浣跨敤Product鎸佷箙鍖栫被錛岀敱浜庡湪涔嬪墠鎴戜滑瀹氫箟浜哖roduct鎸佷箙鍖栫被錛岃繖閲岀洿鎺ユā鎷熷畾涔夋槧灝刋ML錛氭嫢鏈変富閿甈roductId鍜孨ame瀛楁銆?/p>
public const string product_xml = "<?xml version='1.0' encoding='utf-8' ?>" + "<hibernate-mapping xmlns='urn:nhibernate-mapping-2.2'" + " assembly='DomainModel'" + " namespace='DomainModel'>" + " <class name='DomainModel.Entities.Product,DomainModel'>" + " <id name='ProductId'>" + " <generator class='native'/>" + " </id>" + " <property name='Name'/>" + " </class>" + "</hibernate-mapping>";
鏂版槧灝刋ML錛氭洿鏂頒笂闈㈡槧灝刋ML錛氫富閿甈roductId(娌℃湁鏀瑰彉)錛汵ame瀛楁錛氭坊鍔犱笉鍙負絀哄拰闀垮害涓?0錛涘彟澶栧鍔犱簡Cost瀛楁錛岀被鍨嬩負float涓嶅彲涓虹┖銆?/p>
public const string newproduct_xml = "<?xml version='1.0' encoding='utf-8' ?>" + "<hibernate-mapping xmlns='urn:nhibernate-mapping-2.2'" + " assembly='DomainModel'" + " namespace='DomainModel'>" + " <class name='DomainModel.Entities.Product,DomainModel'>" + " <id name='ProductId'>" + " <generator class='native'/>" + " </id>" + " <property name='Name' not-null='true' length='50' />" + " <property name='Cost' type='float' not-null='true'/>" + " </class>" + "</hibernate-mapping>";
嫻嬭瘯鍓嶅埄鐢ㄦ棫鏄犲皠XML鍒涘緩鏁版嵁搴撴灦鏋勶細浣跨敤[SetUp]鍦ㄦ祴璇曞墠鎵ц錛屾寜鐓ф棫鏄犲皠XML鍒涘緩鏁版嵁搴撴灦鏋勫茍鏍煎紡鍖栬緭鍑篋DL璇彞錛?/p>
SetUp] public void SetupContext() { //妯℃嫙鏃х郴緇? _cfg = new Configuration(); _cfg.Configure(); _cfg.AddXml(product_xml); var export = new SchemaExport(_cfg); export.Execute(true, true, false, true); }
嫻嬭瘯鏇存柊鏁版嵁搴撴灦鏋勶細浣跨敤SchemaUpdate綾繪彁渚涚殑鍞竴鐨凟xecute(script, doUpdate)鏂規硶鎸夌収鏂版槧灝刋ML鏇存柊鏁版嵁搴撴灦鏋勶細
Test] public void UpdateExistingDatabaseSchemaTest() { _cfg = new Configuration(); _cfg.Configure().AddXml(newproduct_xml); var update = new SchemaUpdate(_cfg); update.Execute(true, true); }
嫻嬭瘯杈撳嚭緇撴灉濡傚浘鎵紺猴紝濡傛灉浣犺寰椾笉鏀懼績鍐嶇湅鐪嬫暟鎹簱Product琛ㄣ?/p>
鐪嬪埌浜嗗悧錛熻繖鏄劇劧涓嶆槸鎴戣姹傜殑錛岄鍏堟寜鐓ф棫鏄犲皠XML鍒涘緩浜嗘暟鎹簱鏋舵瀯錛屼絾鏄洿鏂版暟鎹簱鏋舵瀯鏄懼緱鏃犺兘涓哄姏錛屼粎浠呭鍔犱簡Cost瀛楁錛屾垜鎯蟲洿鏂癗ame瀛楁灞炴т負涓嶅彲涓虹┖鍜岄暱搴︿負50錛屼絾鏄疭chemaUpdate宸ュ叿涓嶈兘鍋氬埌錛佹垜瑙夊緱榪欎釜綾葷洰鍓嶈繕娌℃湁浠涔堜綔鐢紝鏈熷緟涓嬩竴涓増鏈潵瀹屽杽銆?/p>
榪欑瘒鏂囩珷閫氳繃瀹炰緥浠嬬粛NHibernate涓彁渚涗袱涓疄鐢ㄥ伐鍏稴chemaExport宸ュ叿鍒╃敤鎸佷箙鍖栫被鍜屾槧灝勬枃浠剁敓鎴愭暟鎹簱鏋舵瀯銆係chemaUpdate宸ュ叿閫氳繃鎸佷箙鍖栫被鍜屾槧灝勬枃浠舵洿鏂版暟鎹簱鏋舵瀯銆?/p>
cglib-full-2.0.2.jar
CGLIB搴擄紝Hibernate鐢ㄥ畠鏉ュ疄鐜癙O瀛楄妭鐮佺殑鍔ㄦ佺敓鎴愶紝闈炲父鏍稿績鐨勫簱錛屽繀欏諱嬌鐢ㄧ殑jar鍖?/p>
dom4j-1.4.jar
dom4j鏄竴涓狫ava鐨刋ML API錛岀被浼間簬jdom錛岀敤鏉ヨ鍐橷ML鏂囦歡鐨勩俤om4j鏄竴涓潪甯擱潪甯鎬紭縐鐨凧ava XML API錛屽叿鏈夋ц兘浼樺紓銆佸姛鑳藉己澶у拰鏋佺鏄撶敤浣跨敤鐨勭壒鐐癸紝鍚屾椂瀹冧篃鏄竴涓紑鏀炬簮浠g爜鐨勮蔣浠訛紝鍙互鍦⊿ourceForge涓婃壘鍒板畠銆傚湪IBM developerWorks涓婇潰鍙互鎵懼埌涓綃囨枃绔狅紝瀵逛富嫻佺殑Java XML API榪涜鐨勬ц兘銆佸姛鑳藉拰鏄撶敤鎬х殑璇勬祴錛宒om4j鏃犺鍦ㄩ偅涓柟闈㈤兘鏄潪甯稿嚭鑹茬殑銆傛垜鏃╁湪灝嗚繎涓ゅ勾涔嬪墠灝卞紑濮嬩嬌鐢╠om4j錛岀洿鍒扮幇鍦ㄣ傚浠婁綘鍙互鐪嬪埌瓚婃潵瓚婂鐨凧ava杞歡閮藉湪浣跨敤dom4j鏉ヨ鍐橷ML錛岀壒鍒煎緱涓鎻愮殑鏄繛Sun鐨凧AXM涔熷湪鐢╠om4j銆傝繖鏄繀欏諱嬌鐢ㄧ殑jar鍖咃紝Hibernate鐢ㄥ畠鏉ヨ鍐欓厤緗枃浠躲?/p>
odmg-3.0.jar commons-beanutils.jar錛?/span> commons-lang-1.0.1.jar commons-logging-1.0.4.jar ant-optional-1.5.3.jar c3p0-0.8.4.5.jar proxool-0.8.3.jar commons-pool-1.2.jar, commons-dbcp-1.2.1.jar 瀹為檯涓奌ibernate鑷繁涔熷疄鐜頒簡涓涓潪甯擱潪甯哥畝鍗曠殑鏁版嵁搴撹繛鎺ユ睜錛屽姞涓婁笂闈?涓紝浣犲疄闄呬笂鍙互鍦℉ibernate涓婇夋嫨4縐嶄笉鍚岀殑鏁版嵁搴撹繛鎺ユ睜錛岄夋嫨鍝竴涓湅涓漢鐨勫亸濂斤紝涓嶈繃DBCP鍙兘鏇撮氱敤涓浜涖傚彟澶栧己璋冧竴鐐癸紝濡傛灉鍦‥JB涓嬌鐢℉ibernate錛屼竴瀹氳鐢ˋpp Server鐨勮繛鎺ユ睜錛屼笉瑕佺敤浠ヤ笂4縐嶈繛鎺ユ睜錛屽惁鍒欏鍣ㄧ鐞嗕簨鍔′笉璧蜂綔鐢ㄣ?/p>
connector.jar: jaas.jar jcs-1.0-dev.jar jdbc2_0-stdext.jar: jta.jar錛?/span> junit-3.8.1.jar xalan-2.4.0.jar, xerces-2.4.0.jar, xml-apis.jar:
ODMG鏄竴涓狾RM鐨勮鑼冿紝Hibernate瀹炵幇浜哋DMG瑙勮寖錛岃繖鏄竴涓牳蹇冪殑搴擄紝蹇呴』浣跨敤鐨刯ar鍖呫?br />
commons-collections-2.1.1.jar錛?/span>
Apache Commons鍖呬腑鐨勪竴涓紝鍖呭惈浜嗕竴浜汚pache寮鍙戠殑闆嗗悎綾伙紝鍔熻兘姣攋ava.util.*寮哄ぇ銆傚繀欏諱嬌鐢ㄧ殑jar鍖呫?/p>
Apache Commons鍖呬腑鐨勪竴涓紝鍖呭惈浜嗕竴浜汢ean宸ュ叿綾葷被銆傚繀欏諱嬌鐢ㄧ殑jar鍖呫?
*娉細鎴戞病鏈夊湪Hibernate鐨刲ib涓湅鍒拌繖涓寘錛屼笉榪囧湪Struts涓湅鍒拌繖涓寘錛屽湪緗戜笂鏌ヤ簡涓涓嬶紝榪欎釜鍖呮彁渚涗簡鏄撶敤鐨刯ava鍙嶅皠銆傛垜娌℃湁鐢ㄨ繖涓寘錛屼篃娌℃湁鍑洪棶棰橈紙浠庤繖閲岀湅鍒扮殑錛?/span>http://www.tkk7.com/kobe09/archive/2006/06/14/52745.aspx 錛?/span>
Apache Commons鍖呬腑鐨勪竴涓紝鍖呭惈浜嗕竴浜涙暟鎹被鍨嬪伐鍏風被錛屾槸java.lang.*鐨勬墿灞曘傚繀欏諱嬌鐢ㄧ殑jar鍖呫?/p>
Apache Commons鍖呬腑鐨勪竴涓紝鍖呭惈浜嗘棩蹇楀姛鑳斤紝蹇呴』浣跨敤鐨刯ar鍖呫?br />
浠庣綉涓婃煡鍒扮殑錛屼互涓婁負蹇呴渶鐨勫寘
anant-1.5.3.jar
Ant緙栬瘧宸ュ叿鐨刯ar鍖咃紝鐢ㄦ潵緙栬瘧Hibernate婧愪唬鐮佺殑銆傚鏋滀綘涓嶅噯澶囦慨鏀瑰拰緙栬瘧Hibernate婧愪唬鐮侊紝閭d箞灝辨病鏈変粈涔堢敤錛屽彲閫夌殑jar鍖?/p>
Ant鐨勪竴涓緟鍔╁寘銆?/p>
C3PO鏄竴涓暟鎹簱榪炴帴姹狅紝Hibernate鍙互閰嶇疆涓轟嬌鐢–3PO榪炴帴姹犮傚鏋滀綘鍑嗗鐢ㄨ繖涓繛鎺ユ睜錛屽氨闇瑕佽繖涓猨ar鍖呫?/p>
涔熸槸涓涓繛鎺ユ睜錛屽悓涓娿?/p>
DBCP鏁版嵁搴撹繛鎺ユ睜錛孉pache鐨凧akarta緇勭粐寮鍙戠殑錛孴omcat4鐨勮繛鎺ユ睜涔熸槸DBCP銆?/p>
JCA 瑙勮寖錛屽鏋滀綘鍦ˋpp Server涓婃妸Hibernate閰嶇疆涓篊onnector鐨勮瘽錛屽氨闇瑕佽繖涓猨ar銆備笉榪囧疄闄呬笂涓鑸珹pp Server鑲畾浼氬甫涓婅繖涓寘錛屾墍浠ュ疄闄呬笂鏄浣欑殑鍖呫?/p>
JAAS鏄敤鏉ヨ繘琛屾潈闄愰獙璇佺殑錛屽凡緇忓寘鍚湪JDK1.4閲岄潰浜嗐傛墍浠ュ疄闄呬笂鏄浣欑殑鍖呫?/span>
濡傛灉浣犲噯澶囧湪Hibernate涓嬌鐢↗CS鐨勮瘽錛岄偅涔堝繀欏誨寘鎷畠錛屽惁鍒欏氨涓嶇敤銆?/p>
JDBC2.0鐨勬墿灞曞寘錛屼竴鑸潵璇存暟鎹簱榪炴帴姹犱細鐢ㄤ笂瀹冦備笉榪嘇pp Server閮戒細甯︿笂錛屾墍浠ヤ篃鏄浣欑殑銆?/p>
JTA瑙勮寖錛屽綋Hibernate浣跨敤JTA鐨勬椂鍊欓渶瑕侊紝涓嶈繃App Server閮戒細甯︿笂錛屾墍浠ヤ篃鏄浣欑殑銆?/p>
Junit鍖咃紝褰撲綘榪愯Hibernate鑷甫鐨勬祴璇曚唬鐮佺殑鏃跺欓渶瑕侊紝鍚﹀垯灝變笉鐢ㄣ?/p>
Xerces鏄疿ML瑙f瀽鍣紝Xalan鏄牸寮忓寲鍣紝xml-apis瀹為檯涓婃槸JAXP銆備竴鑸珹pp Server閮戒細甯︿笂錛孞DK1.4涔熷寘鍚簡瑙f瀽鍣紝涓嶈繃涓嶆槸Xerces錛屾槸Crimson錛屾晥鐜囨瘮杈冨樊錛屼笉榪嘓ibernate鐢╔ML鍙笉榪囨槸璇誨彇閰嶇疆鏂囦歡錛屾ц兘娌′粈涔堢揣瑕佺殑錛屾墍浠ヤ篃鏄浣欑殑銆?/p>