|
|
Âþ̸JavaÊý¾Ý¿â´æÈ¡¼¼Êõ |
|
|
×÷ÕߣºÎ´Öª À´Ô´£ºÔ¹âÈí¼þÕ¾ ¼ÓÈëʱ¼ä£º2005-6-5¡¡Ô¹âÈí¼þÕ¾ |
IT¼¼ÊõÈÕÐÂÔÂÒ죬м¼ÊõµÄ³öÏÖÁîÈËÄ¿²»Ï¾½Ó£¬ËƺõÿһÌì¶¼ÔÚ²úÉú×ÅÐÂÃû´Ê¡£²»¹ý¹é¸ù½áµ×ITËùҪʵÏֵļÛÖµ²»ÍâºõÊý¾ÝÊÕ¼¯£¬È»ºóÔÙÒÔ¿Í»§Ï£ÍûµÄÐÎʽչʾ¸ø¿Í»§¶øÒÑ¡£Òò´ËÊý¾Ý´æÈ¡¼¼ÊõÒ²¾Í³ÉÁËÒ»¸öÓÀºãµÄ»°Ìâ¡£¶øÔÚJavaÕâ¸ö¿ª·ÅµÄÊÀ½çÀÊý¾Ý¿â´æÈ¡¼¼ÊõÊÇÎ廨°ËÃÅ£¬ÖÖÀà·±¶à¡£ÎÒÃÇÒ²À´Ù©Ù©JavaÊÀ½çÀïÖ÷Á÷µÄÊý¾Ý¿â´æÈ¡¼¼Êõ¡£
Ê×ÏÈÁгöÓ¢ÐÛ°ñ
1£® JDBCÖ±½Ó·ÃÎÊÊý¾Ý¿â 2£® EJB entity bean. 3£® JDO¼¼Êõ¡£ 4£® µÚÈý·½O/R¹¤¾ß£¬ÈçĿǰ´óºì´ó×ϵÄHibernate, ÆäËüÈçCastor, Toplink.
ÏÈ˵˵Õâ¸öÀúÊ·×îÎªÓÆ¾ÃµÄJDBC°É¡£´ÓJavaµ®ÉúµÄÄÇÌìÆð£¬ÕâλÈÊÐ־ͿªÊ¼µÇÉÏÀúÊ·Îę̀ÁË¡£JavaÄÜÓнñÌìÕâô·ç¹â£¬JDBC¿ÉÒÔ˵Êǹ¦²»¿ÉÄ©¡£Ò»Â·×ßÀ´£¬Èç½ñÒÑÊÇJDBC3.0ÁË¡£ÔÚûÓÐJDBCµÄʱºò£¬·ÃÎÊÊý¾Ý¿âÄÇÊǰËÏɹýº££¬¸÷ÏÔÉñͨ£¬¸÷¼ÒÊý¾Ý¿â³§É̶¼ÓÐ×Ô¼ºµÄÒ»Ì×API, ¿à¾Í¿àÁË¿ª·¢ÈËÔ±ÁË¡£»»Á˸öÊý¾Ý¿â£¬ÄǸö³ÌÐòÒª¸ÄÊÇÃæÄ¿È«·Ç¡£JDBC¹æ·¶µÄ³ǫ̈£¬ÏòÊÀ½çÐû¸æ´Ó´ËÓÐÁË·ÃÎʹØÏµÊý¾Ý¿âµÄ±ê׼ͨÓýӿÚÁË¡£JDBC±ê×¼»ñµÃÁ˼¸ºõËùÓÐÊý¾Ý¿â³§É̵ÄÖ§³Ö£¬ºÃÏñ»¹ÕæÄÑÕÒµ½Õâôһ¸öÊý¾Ý¿â£¬ËüÊÇûÓÐJDBC Ö§³ÖµÄ¡£JDBC¹æ·¶Ò»¾·¢²¼£¬»ñµÃÁË¿Õǰ³É¹¦£¬ºÜ¿ì³ÉΪjava·ÃÎÊÊý¾Ý¿âµÄ±ê×¼¡£JDBCµÄ³É¹¦ÔÚÓÚËüµÄ¹æ·¶Í³Ò»±ê×¼µÄ½Ó¿Ú£¬Ö»ÐèÒªÕÆÎÕ±ê×¼µÄSQLÓïÑԾͿÉÒÔ·ÃÎʸ÷ÖÖ²»Í¬µÄÊý¾Ý¿âÁË¡£ÕâÖÖÊý¾Ý¿â¼äµÄ¿ÉÒÆÖ²ÐÔºÍJavaÒ»Ö±¸ßº°µÄ¿ÚºÅCompile Once, Run everywhereÒ£ÏàºôÓ¦¡£JDBC½ñÌ컹ÊÇjava·ÃÎÊÊý¾Ý¿âµÄ»ùʯ£¬CMP, JDO, Hibernate ˵µ½µ×Ö»ÊǸüºÃµÄ·â×°ÁËJDBC, ÌṩÁ˸üΪÉϲãµÄ¸üΪǿ´óµÄ½Ó¿Ú¶øÒÑ¡£È»ºó˵˵JDBCÖ±½Ó·ÃÎÊÊý¾Ý¿âµÄ·½Ê½À´ÊµÏÖjava ³Ö¾ÃÐÔ¡£ ÕâÖÖ·½Ê½Ïà¶ÔÓÚCMPÀ´Ëµ±È½Ï¼òµ¥Ö±½Ó£¬ÌرðÊǶÔÓÚСÐÍÓ¦ÓÃÊ®·Ö·½±ã¡£±ÈÈ磬ÎÒҪдһ¸ö¼òµ¥µÄÁôÑÔ°æ³ÌÐò£¬¾ÍûÓбØÒªsession bean ,entity bean £¬ÓÖÊÇhome½Ó¿ÚÓÖÊÇÔ¶³Ì½Ó¿Ú£¬Ò»²ã²ãµ÷Á˰ɡ£Ö±½ÓJDBC,дSQLÓï¾äÁËÊ¡£ºÍÆäËü³Ö¾Ã»¯¼¼ÊõÏà±È£¬JDBCÖ±½Ó·ÃÎÊÊý¾Ý¿âµÄ·½Ê½ÐèÒª³ÌÐòÔ±²ÙÐĵÄÊÂÇé¶àÁËһЩ£¬ÄãµÃ×Ô¼º¹ØÐÄtransaction, ×Ô¼º¹ØÐÄÁ¬½Ó³Ø£¬ÄãµÃд´óÁ¿µÄget set·½·¨£¬°ÑSQL select³öÀ´µÄÖµÒ»¸öÒ»¸öÈûµ½ÄãµÄjava objectÖУ¬»òÕß°Ñjava objectµÄÖµÒ»¸öÒ»¸ö¸øÈ¡³öÀ´£¬ÓÃSQL insert µ½Êý¾Ý¿â£¬ÍêÈ«ÊÖ¶¯½øÐÐO/R mapping¡£ÎªÁ˿˷þÕâЩȱµã£¬CMP, JDOµÈµÈ¿ªÊ¼Â½ÐøµÇÉÏÀúÊ·Îę̀¡£
ÏÂÃæEJBµÇ³¡£¬EJB×÷ΪSun J2EEÌåϵµÄºËÐIJ¿·Ö£¬ÊÇSun ËùÁ¦ÍÆµÄÆóÒµ¼¶¿ª·¢µÄÊ×Ñ¡£¬¶øEJB entity ĿǰÈÔÈ»ÊÇSun j2EE°×ƤÊéËù×îÎªÍÆ¼öµÄjava ³Ö¾Ã»¯¼¼Êõ¡£Entity Bean×÷ΪEJB¹æ·¶µÄÒ»²¿·Ö£¬Ò²ÊÇEJB¹æ·¶ÀïÃæ×ÊÜÕùÒéµÄÒ»ÖÖ¼¼Êõ£¬Ëü°éËæ×ÅEJB¹æ·¶×ß¹ýÁË·ç·çÓêÓ꼸¸ö´ºÇĿǰEJB3.0¹æ·¶²Ý°¸ÒѾ³ǫ̈£¬http://jcp.org/en/jsr/detail?id=220¡£ ´Ó¼ÒÍ¥³öÉúÀ´¿´£¬EJB¿ÉνÊǸùÕýÃçºì£¬¹æ·¶´¦ÓÚ JCP¹ÜÀí֮ϣ¬ÓµÓг¬¼¶ºÀ»ªµÄר¼Ò×é³ÉÔ±£¬ Sun, IBM, Oracle, Borland, Bea, SAP, Jboss, ApacheÈí¼þ»ù½ð×éÖ¯µÈµÈ¡£µ¥´ÓÕâÒ»µãÀ´¿´£¬Ñ¡Ëü×÷ΪÆóÒµ¼¶¿ª·¢£¬¼¼ÊõÖ§³ÖÓ¦¸Ã¾ÍÎÞÐèµ£ÐÄÁË¡£µ±È»ÏòIBM, BeaµÈѰÇóÏîÄ¿×Éѯ¼Û¸ñµ±È»Ò²²»·Æ¡£´ÓÌṩ¹¦ÄÜÉÏÀ´¿´£¬EJB entity¾ÀúÁËEJB1.0, EJB1.1, EJB2.0, ¹¦ÄÜÒ²Ô½À´Ô½ÍêÉÆÁË¡£°üÀ¨ÁËÍêÉÆµÄÊÂÎñÖ§³Ö£¬EJBQL²éѯÓïÑÔ£¬Í¸Ã÷µÄ·Ö²¼Ê½·ÃÎʵȵȡ£²»¹ý×÷Ϊһ¸öÖØÁ¿¼¶¼¼Êõ£¬entity beanµÄÐÔÄܲ»Ì«¾¡ÈËÒ⣬Õâ³ÉΪËü±¸ÊÜÕùÒéµÄÒ»¸ö½¹µã£¬²»ÖªÔÚ3.0ÒÔºóÕâ¸ö×´¿ö»á²»»áÓÐËù¸Ä½ø¡£ÔÙÓÐÒ»¸ö£¬Ëü¹¦ÄÜËäȻǿ´ó£¬¿ÉÊǶÔÓÚÒ×ÓÃÐÔÀ´Ëµ£¬ÊµÔÚ²»¸Ò¹§Î¬£¬Ð´Ò»¸ö×î¼òµ¥µÄbean£¬ Ò²·ÇµÃhome½Ó¿Ú£¬Ô¶³Ì½Ó¿Ú£¬ÒªÔÙ¼ÓÉÏ2.0ÒÔºó¼ÓÈëµÄ±¾µØ½Ó¿Ú£¬ÕâôÁÖÁÖ×Ü×ÜÒ»´ó¶Ñ£¬×ãÒÔÈÃJava³õѧÕßÍû¶øÈ´²½ÁË¡£µ«ÊÇÕâÒ»µãÔÚÒ»¶Îʱ¼äÄÚ¾¹È»Ò²³ÉÁËEJB ¹¦ÄÜÇ¿´ó£¬¼¼Êõ¸ßÉîµÄ“×ôÖ¤”¡£¼ÇµÃ¶àÄêÒÔǰ¸Õ±ÏÒµÄÇÕó£¬EJBÓ¦ÓÃÔÚ¹úÄÚ»¹±È½ÏÉÙ£¬¹«Ë¾ÀïҲûÓÐÈËÑо¿Why EJBÕâ¸öÎÊÌ⣬·´Õý·²ÊÇÓÃEJBµÄÏîÄ¿¾ÍÊÇÅ£ÏîÄ¿£¬ÓÃEJBµÄÈ˾ÍÊÇÅ£ÈË£¬·Öµ½EJBÏîÄ¿×éµÄÐÖµÜÃÇ×ß·¶¼ÊÇÌ§Í·Í¦ÐØµÄ£¬Ëµ»°¶¼±ÈÎҵȻ¹ÔÚJDBC, SQLµÄÈËÒª¸ßÁ½É¤ÃÅ¡£EJB ¼¼ÊõĿǰÅ̾á×ÅÆóÒµ¼¶Ó¦ÓõĴ󲿷ֽɽ£¬ÀÏ´óµØÎ»¶Ìʱ¼äÄÚºÜÄѺ´¶¯¡£
ÏÂÃæÐÂÉú´ú´ú±íJDOÂ¡ÖØµÇ³¡£¬JDO¾ø¶ÔÊôÓÚ³¬ÄêÇáÑ¡ÊÖ£¬ JDO1.0Ò²²»¹ýÊÇ2002ËÄÔ·ݲŷ¢²¼¡£2003ÎåÔ·ݳǫ̈1.0.1, Ŀǰ×îÐÂ2.0²Ý°¸ÒѾ·¢²¼£¬http://www.jcp.org/en/jsr/detail?id=243¡£¾ÍΪÕâ2.0£¬½ºþÉÏÕ¹¿ªµÄÌÖÂÛ¿ÉÒÔ˵ÊǓѪÓêÐȷ産¬ Á½´ó±øÍÅ£¬ JDO±øÍźÍEJB±øÍÅÕùµÃÊDz»¿É¿ª½»¡£ÓÐÐËȤµÄ²»·Áµ½ÕâÀïÇÆÇÆ£¬http://theserverside.com/news/thread.tss?thread_id=25695£¬ÀïÃæÒ²²»·¦ÖØÁ¿¼¶ÈËÎï¡£µ¥´ÓÕâÒ»µãÀ´¿´£¬ËüÄܶÔEJB²úÉúÕâô´óµÄ³å»÷£¬×ãÒÔ˵Ã÷ÁËÕâ¸ö³õÉúÅ£¶¿È·ÓйýÈËÖ®´¦¡£JDOµÄµ®Éú¸øjavaÊý¾Ý³Ö¾ÃÐÔ´øÀ´ºÜ¶àÐÂÌØÐÔ£¬ÌرðÊÇËüÃÖ²¹ÁËEJB¶ÔOO±à³ÌµÄÏÈÌì²»×㣬JDOÌṩÁËÍêÈ«µÄOOÖ§³Ö£¬¼Ì³Ð£¬¶à̬¡£JDOºÍ EJB±ÈÊôÓÚÇáÁ¿¼¶¹¤¾ß£¬ÎÞÐèÈÝÆ÷Ö§³Ö¡£²»ÏñEJB, ÒªÓÃÄã¾Í·ÇµÃÕûÒ»¸öWeblogic, webSphereÖ®ÀàµÄ¡£ JDOµÄ¼òµ¥Ò×ÓÃÊÇ×îΪÈËÃÇËù³ÆµÀµÄ£¬²»ÐèÒªÄãд´óÁ¿ÎÞÓõĽӿڣ¬²»ÐèÒªÄã¼Ì³ÐÊ²Ã´ÌØÊâµÄÀ࣬ΨһËùÒª×öµÄ¾ÍÊǶÔÄãµÄclassÎļþ×öÒ»ÏÂenhance¡£ÓÃÁËJDO,¿ÉÒÔ˵ÎÒÃǵÄjava³ÌÐòÕâÏÂÕæÕýOOÁË£¬ÎÒÃÇÎÞÐèÔÙÀí»áÊý¾Ý¿âÀïÃæÓÐɶ±í¸ñÁË£¬´æÈ¡¶¼ÊÇÒÔjava objectΪ¶ÔÏóÁË£¬ËùÓÐÊý¾Ý¿â±í¸ñ¶¼ÊÇ×Ô¶¯Éú³ÉµÄ¡£ÕâÒ»µã¿ÉÒÔ˵ҲÊÇÒ»¸ö¸ïÃüÁË¡£ÔÚ´Ë֮ǰ£¬ÏîÄ¿Éè¼Æ½×¶Î£¬Database SchemaÉè¼Æ¿ÉÒÔ˵ÊǸöÖØÍ·Ï·¡£¶øÏÖÔÚÓÃJDO¿ª·¢£¬ÍêÈ«²»ÐèÒªÊý¾Ý¿âÉè¼ÆÁË¡£ÄÇÄãµÄDatabase SchemaÄØ£¿ ¾ÍÊÇÄãµÄClass °¡£¬JDO»á¸ù¾ÝÄãµÄClass×Ô¶¯Éú³ÉÏàÓ¦µÄÊý¾Ý¿â±í¸ñ¡£ Ò»¸ö×Ö £¬ ˬ£¡´ÓÊý¾Ý¿â¿ÉÒÆÖ²ÐÔÀ´¿´£¬JDOÒ²ÊÇÓÅÊÆÃ÷ÏÔ£¬¾ÍÎÒʹÓùýµÄKodo ºÍ GenieÀ´¿´£¬¼¸¸ö¼òµ¥Ó¦ÓóÌÐò»»Êý¾Ý¿âʱºò³ýÁË»»Ò»¸öJDBC driver, »»Ò»ÏÂÊý¾Ý¿âURL,ÎÞÐè¶Ô³ÌÐò×öÈκθ͝¡£ ÕâÒ»µã¶ÔEJB À´ËµÓÖÊÇ´¦ÓÚÁÓÊÆ¡£´Ó¼ÒÍ¥³öÉíÀ´¿´£¬JDOÒ²ÊdzöÉúÃûÃÅ£¬´ÓÒ»¿ªÊ¼¾Í´¦ÓÚJCP¹ÜÀí֮ϡ£´ÓÆóÒµ¼¶Ö§³ÖÀ´¿´£¬Ëü¿ÉÒԺܺõĺÍSession beanÐͬ¹¤×÷£¬¶ÔÓÚÆóÒµ¼¶¿ª·¢£¬ Session bean + JDOµÄ·½Ê½ÊÇSession bean + entity·½Ê½µÄÒ»¸öÇ¿ÓÐÁ¦¾ºÕù¶ÔÊÖ¡£ËäÈ»ÓÐÕâô¶àÓŵ㣬²»¹ýËüµÄ·¢Õ¹Ö®Â·Ò²·ÇÒ»·«·ç˳£¬Õâ²»£¬½ñÄêÎåÔ·ÝJDO2.0µÄͶƱ£¬IBM, Oracle, Bea Èý´ó¾ÞͷͬʱͶÁË·´¶ÔƱ¡£²»¹ýÉÔ΢һÏ룬¾Í¿ÉÒÔÀí½â£¬Õâ²¢²»ÊÇJDO±¾Éí¼¼ÊõÓÐÊ²Ã´ÖØ´óȱÏÝ£¬¶øÊÇJDO¶¯µ½ÕâЩ¾ÞÍ·ÃǵÄÄÌÀÒÁË¡£Bea, IBM×ö×ÅÒµ½ç×îÎªÖøÃûÓ¦Ó÷þÎñÆ÷£¬weblogicºÍWebSphere,ÔÚEJBÉÏÃæÊÇͶÏÂÁËѪ±¾ÁË£¬ËûÃDz»ÄÜÑÛÕöÕö¿´×ÅJDOÀ´²ÏʳEJBÊг¡¡£¶øOracle, »¹ÔÚÂô×ÅËü×Ô¼ºµÄO/R¹¤¾ßToplink, ¿´×ÅJDOÈÕ½¥Ç¿´ó£¬ËûÄܲ»×ż±Ã´¡£²»¹ýÄØ£¬¹«Ë¾ÔÙÅ££¬ËûÒ²µ²²»×¡Àúʷǰ½øµÄ³µÂÖ°É£¬×îÖÕJDO2.0µÄͶƱ»¹ÊÇÒÔ¾ø¶ÔµÄƱÊý£¨12£º3£©Í¨¹ýÁË¡£
»¹ÓÐÆäËüÉ¢Â佺þµÄJava³Ö¾Ã»¯¼¼Êõ£¬ÈçHibernate, Castor, Toplink, ËûÃÇËäȻûÓлʼÒѪͳ£¬²»¹ýʵÁ¦Ò²ÊDz»ÈÝСÊÓ¡£¾ÍÄ**ibernateÀ´Ëµ£¬ÊÇjavaworldÆÀÑ¡³öÀ´µÄ2003Äê¶È×î¼ÑjavaÊý¾Ý´æÈ¡¹¤¾ß£¬Ä¿Ç°¿ÉÒÔ˵ÊÇ´óºì´ó×Ï¡£¶øCastorºÍToplinkÒ²ËãÊÇÀúÊ·ÓÆ¾ÃÁË£¬ÔÚJDOûÓгöÊÀ֮ǰ£¬ËüÃǾÍÔÚ½ºþÉÏ»ì×ÅÁË¡£Ä¿Ç°Ò²Õ¼¾Ý×ÅÒ»¶¨µÄÊг¡¡£ÕâЩµÚÈý·½µÄ¹¤¾ß´Ó¹¦ÄÜÉÏÀ´ËµºÜÀàËÆÓÚJDO, Ö»ÊǸ÷×ÔµÄAPI»¥²»Ïàͬ¡£ÕâÒ²ÊǺóÀ´JDO¹æ·¶µÄºôÉùÔ½À´Ô½¸ßµÄÒ»¸öÔÒò°É¡£ÕâЩµÚÈý·½O/R mapping¹¤¾ßÄÜÔÚ½ºþÉÏÁ¢×㣬Ҳȷʵ¶¼Óи÷×Ô¹ýÈËÖ®´¦¡£ÈçHibernate½ð×ÖÕÐÅÆ¾ÍÊÇOpen Source£¬Ö§³Ö¼¸ºõÊÀÃæÉÏËùÄÜ¿´µ½µÃ¾ø´ó²¿·ÖÊý¾Ý¿â£¬²¢ÇÒÎĵµÒ²·Ç³£ÆëÈ«¡£Toplinkô£¬¿ÉνÀúÊ·ÓÆ¾Ã£¬ÓÖ°ñ×ÅOracleÕâ¿Ã´óÊ÷¡£Ä¿Ç°À´¿´£¬ÕâЩ¹¤¾ßÒ²Õ¼¾Ý×ÅjavaÊý¾Ý¿â´æÈ¡µÄ²»Ð¡Êг¡¡£¸öÈ˾õµÃ£¬Ëæ×ÅJDO¹æ·¶µÄ²»¶ÎÍêÉÆ£¬JDO²úÆ·µÄÆÕ¼°£¬ÕâÒ»²¿·ÖÈËÔ±¿ÉÄÜ»áÔÚÒÔºó½¥½¥Í˳öÀúÊ·Îę̀¡£²»¹ý´ÓHibernateĿǰÈçÈÕÖÐÌìµÄÆøÊÆÀ´¿´£¬ºÃÏñ˵Õâ¾ä»°»¹ÎªÊ±¹ýÔç¡£
¹ØÓÚÕâЩ¼¼ÊõÓÅÁÓÖ®Õù´ÓËüÃǸոճöÉúÄÇÌìÆð´ÓÀ´¾ÍûÓÐÍ£Ö¹¹ý£¬¶ø¸÷¼Ò¸÷ÅÉÒ²´ÓÀ´Ã»ÓÐÄܹ»Ëµ·þ¹ý¶Ô·½¡£¶ÔÓÚÎÒÃÇÓ¦Óÿª·¢Õß¶øÑÔ£¬Æ²¿ªÓ¦Óô¿´âÀ´ÕùÂÛ¼¼ÊõÓÅÁÓ²¢Ã»Óжà´óÒâÒå¡£»¹ÊÇË×»°ËµµÄºÃ£¬Ã»ÓÐ×îºÃµÄ£¬Ö»ÓÐ×îºÏÊʵġ£ÎÒÃÇÄܹ»ÔÚ×ö¿ª·¢µÄʱºòÄܹ»Ñ¡ÔñÒ»¸ö×îºÏÊÊÓÚ×Ô¼ºÓ¦Óõļ¼Êõ£¬ÄǾÍ×ã¹»ÁË¡£×ܵÄÀ´Ëµ£¬JDBCÃæÏòRDBMS,±È½ÏÊʺϹØÏµÊý¾Ý¿âģʽÇý¶¯µÄÓ¦Óã¬ÀýÈçͳ¼Æ±í¸ñÊý¾Ý£¬Éú³É±¨±íÖ®ÀàµÄÓ¦Óá£EJB ¼¼ÊõÒÔJ2EEÓ¦Ó÷þÎñÆ÷ΪÖÐÐÄ£¬Èç¹ûÄãµÄÓ¦ÓÃȷʵÐèÒªÁé»îµÄ¿ÉÉùÃ÷µÄÊÂÎñ±ß½ç£¬ÐèÒªÖ§³Ö´óÈÝÁ¿µÄ·ÃÎʺͲ»¼ä¶ÏµÄ·þÎñ£¬ÐèÒªÓ¦Ó÷þÎñÆ÷µÄ¼¯Èº£¬ÄÇôѡEJB°É¡£JDOÔòÃæÏò¶ÔÏ󣬶ÔÓÚÒÔÓò¶ÔÏóΪÖÐÐĵÄÓ¦Ó㬰üº¬Í¼£¬Ê÷Ä£Ð͵ÄÓ¦Óã¬JDOÊÇÊ×Ñ¡¡£

|
|
Ïà¹ØÎÄÕ£ºÏà¹ØÈí¼þ£º |
|