´«ÖDz¥¿Íjavaѧϰ hibernate»º´æ
½ñÌìÎÒѧϰÁËÐìÀÏʦ½²µÄHiberbate»º´æÖªÊ¶£¬ÎÒÉÏ¿Î×öÁ˼òµ¥µÄ±Ê¼Ç£º
»º´æÀàÐÍ
Ò».ÊÂÎñ·¶Î§:λÓÚµ±Ç°¹¤×÷µ¥Ôª,²»Äܲ¢·¢·ÃÎÊ
¶þ.½ø³Ì·¶Î§:¶à¸ö¹¤×÷µ¥Ôª¹²Ïí,¿É²¢·¢·ÃÎÊ,¿É´æ´¢ÊµÀý±¾ÉíÒ²¿É´æÉ¢ÁÐÊý¾Ý,È»ºóÔÚ
ÖØÐÂ×é×°
Èý.¼¯Èº·¶Î§:¶à¸ö½ø³ÌºÍÖ÷»ú¼ä·ÃÎÊ,ÍøÂçͨÐÅÊÇÖØµã.ÐèÒª½«Êý¾Ý¸´ÖƵ½ËùÓм¯ÈºÖеĽڵã.
»º´æºÍOID:
ÊÂÎñ¼¶»º´æÒ²ÓÃÓÚ¶ÔÏóidµÄʹÓ÷¶Î§,ÊÇÀíÏëµÄ»º´æ
½ø³Ì¼¶»º´æ¿ÉÑ¡ÔñʵÏÖidµÄ½ø³Ì·¶Î§´æ´¢,Ò²ºÍÖ÷¼ü¶ÔÓ¦.²¢·¢¹¤×÷µ¥Ôª²éѯͬһid¶ÔÏóµÄ»°·µ
»ØÏàͬµÄʵÀý.ÔÚ½ø³Ì¼¶»º´æÖеĶÔÏóÒ²¿É°´Öµ·µ»Ø,ÿ¸ö¹¤×÷µ¥ÔªÔÙÖØÐÂ×é×°Ðγɸ±±¾.
Hibernate»º´æ¼Ü¹¹
1¡¢Ò»¼¶»º´æ¼´session.
2¡¢¶þ¼¶»º´æÊÇ¿ÉÅäµÄ²å¼þ,¿ÉÓÃÓÚ½ø³Ì/¼¯Èº·¶Î§»º´æ.ËûÃÇ»º´æ¶¼ÊÇ״̬(°´Öµ·µ»Ø),
¶ø²»ÊÇÕæÕýµÄ³Ö¾Ã»¯¶ÔÏó.¶ÔÓÚÌØ¶¨µÄÊý¾ÝÏîÀ´Ëµ»º´æµÄ²¢·¢²ßÂÔ¶¨ÒåÁËÊÂÎñµÄ
¸ôÀëϸ½Ú.ÿ¸öÀà»òÕßÿ¸ö¼¯ºÏµÄ¶þ¼¶»º´æÊÇ¿ÉÑ¡¿ÉÅäµÄ.ÿ¸ö»º´æ¶¼Ê¹ÓÃÁË×Ô¼º
µÄ»º´æÇøÓò.
3¡¢Hibernate»¹ÊµÏÖÁ˶Բéѯ½á¹û¼¯µÄ»º´æ,ËûºÍ¶þ¼¶»º´æ½ôÃܽáºÏ.¶øÇÒÐèÒª¶îÍâ
µÄÁ½¸öÎïÀí»º´æÇøÓòÀ´ÈÝÄÉ»º´æµÄ²éѯ½á¹ûºÍ×îºó¸üбíµÄʱ¼ä´Á.
ÄÚÖò¢·¢²ßÂÔ
²¢·¢²ßÂÔÊǵ÷½âÈË,¸ºÔðÔÚ»º´æÖмìË÷Êý¾Ý.¶ÔÓÚÌØ¶¨Êý¾ÝÏî,ËûÒ²¶¨ÒåÁËÊÂÎñ¸ôÀëµÄÓïÒå.¶ÔÀà
»ò¼¯ºÏÀ´ËµÊ¹ÓÃÄĸö²¢·¢²ßÂÔÐèÒª×ö³öÅжÏ.
ËĸöÄÚÖõIJ¢·¢²ßÂÔÌåÏÖÁ˵ݼõµÄÊÂÎñ¸ôÀëµÄµÈ¼¶.
1¡¢Transationsal
Ö»ÔÚÊܹܻ·¾³ÖÐʹÓÃ,Èç¹ûÐèÒª¿ÉÒÔÈ·±£ËùÓеÄÊÂÎñ¸ôÀëµ½¿ÉÖØ¸´¶Á,ºÜÉÙ¸üÐÂÇÒ·ÀÖ¹ÔàÊý
¾ÝÇé¿öϸòßÂÔºÜÖØÒª
2¡¢Read-write
 
Ïà¹ØÎĵµ£º
1.Duplicated Code
´úÂëÖØ¸´¼¸ºõÊÇ×î³£¼ûµÄÒìζÁË¡£ËûÒ²ÊÇRefactoringµÄÖ÷ҪĿ±êÖ®Ò»¡£´úÂëÖØ¸´ÍùÍùÀ´×ÔÓÚcopy-and-pasteµÄ±à³Ì·ç¸ñ¡£ÓëËûÏà¶ÔÓ¦OAOOÊÇÒ»¸öºÃϵͳµÄÖØÒª±êÖ¾¡£
2.Long method
ËüÊÇ´«Í³½á¹¹»¯µÄ“ÒŶ¾”¡£Ò»¸ö·½·¨Ó¦µ±¾ßÓÐ×ÔÎÒ¶ÀÁ¢µÄÒâͼ£¬²»Òª°Ñ¼¸¸öÒâͼ·ÅÔÚÒ»Æð¡£ ......
http://lavasoft.blog.51cto.com/62575/18920
JavaÒì³£´¦Àí×ܽá
Òì³£´¦ÀíÊdzÌÐòÉè¼ÆÖÐÒ»¸ö·Ç³£ÖØÒªµÄ·½Ã棬ҲÊdzÌÐòÉè¼ÆµÄÒ»´óÄѵ㣬´ÓC¿ªÊ¼£¬ÄãÒ²ÐíÒѾ֪µÀÈçºÎÓÃif...else...À´¿ØÖÆÒì³£ÁË£¬Ò²ÐíÊÇ×Ô·¢
µÄ£¬È»¶øÕâÖÖ¿ØÖÆÒ쳣ʹ¿à£¬Í¬Ò»¸öÒì³£»òÕß´íÎóÈç¹û¶à¸öµØ· ......
±à¼¹¤³ÌµÄ.projectÎļþ£º
Ìí¼Ó
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
µ½
<natures>
…
& ......
ÎÒ½ñÌìѧϰÁËÐìÀÏʦ½²µÄhibernate֪ʶ£¬ÎÒ×öÁ˼òµ¥µÄ±Ê¼Ç£º
Ò»¡¢Hibernate
a) Á¬½ÓjavaÓ¦ÓóÌÐòºÍ¹ØÏµÐÍÊý¾Ý¿âµÄÖмä¼þ£¬¶ÔJDBC API·â×°£¬¸ºÔð¶ÔÏó³Ö¾Ã»¯
b) λÓڳ־û¯²ã£¬·â×°ËùÓеÄÊý¾Ý·ÃÎÊϸ½Ú£¬Ê¹ÒµÎñÂß¼²ã¸ü¹Ø×¢ÓÚÒµ ......