Java EE 6ÒýÈëµÄJPA 2.0ËÄ´óÐÂÌØÐÔÏê½â
¡¾51CTO¾«Ñ¡ÒëÎÄ¡¿Java EE 5ƽ̨ÒýÈëÁËJava³Ö¾Ã»¯API£¨Java Persistence API£¬JPA£©£¬ËüΪJava EEºÍJava SEÓ¦ÓóÌÐòÌṩÁËÒ»¸ö»ùÓÚPOJOµÄ³Ö¾Ã»¯Ä£¿é¡£JPA´¦Àí¹ØÏµÊý¾ÝÓëJava¶ÔÏóÖ®¼äµÄÓ³É䣬Ëüʹ¶ÔÏó/¹ØÏµ£¨O/R£©Ó³Éä±ê×¼»¯£¬JPAÒѾ±»¹ã·º²ÉÓã¬ÒѾ³ÉΪÊÂʵÉϵÄO/R³Ö¾Ã»¯ÆóÒµ±ê×¼¡£
Java EE 6´øÀ´ÁËJPAµÄ×îа汾 — JSR 317£ºJava³Ö¾Ã»¯2.0£¬JPA 2.0´øÀ´ÁËÐí¶àÐÂÌØÐÔºÍÔöÇ¿£¬°üÀ¨£º
1¡¢¶ÔÏó/¹ØÏµÓ³ÉäÔöÇ¿£»
2¡¢Java³Ö¾Ã»¯²éѯÓïÑÔÔöÇ¿£»
3¡¢Ò»ÖÖеĻùÓÚ±ê×¼µÄ²éѯAPI£»
4¡¢Ö§³Ö±¯¹ÛËø¶¨¡£
¶ÔÏó/¹ØÏµÓ³ÉäÔöÇ¿
JPA 1.0Ö§³Ö¼¯ºÏµÄÓ³É䣬µ«ÕâЩ¼¯ºÏÖ»Äܰüº¬ÊµÌ壬JPA 2.0Ôö¼ÓÁ˼¯ºÏÓ³ÉäµÄ»ù´¡Êý¾ÝÀàÐÍ£¬ÈçStringºÍInteger£¬ÒÔ¼°Ç¶Èëʽ¶ÔÏóµÄ¼¯ºÏ¡£JPAÖеÄǶÈëʽ¶ÔÏóÊÇÒ»¸ö²»ÄÜ´æÔÚÓÚËü×ÔÉíµÄ¶ÔÏ󣬶øÊÇ×÷Ϊ¸¸¶ÔÏóµÄÒ»²¿·Ö´æÔÚ£¬¼´ËüµÄÊý¾Ý²»ÊÇ´æÔÚÓÚËü×Ô¼ºµÄ±íÖУ¬¶øÊÇǶÈëÔÚ¸¸¶ÔÏóµÄ±íÖС£
JPA 2.0Ôö¼ÓÁËÁ½¸öÖ§³ÖÐµļ¯ºÏÓ³ÉäµÄ×¢½â£º@ElementCollection ºÍ @CollectionTable¡£Ê¹ÓÃ@ElementCollection×¢½âÖ¸¶¨¼¯ºÏµÄǶÈëʽ¶ÔÏó£¬ÕâЩ¼¯ºÏÊǶÀÁ¢´æ´¢ÔÚ¼¯ºÏ±íÖеģ¬Ê¹ÓÃ@CollectionTable×¢½âÖ¸¶¨¼¯ºÏ±íµÄÏêϸÐÅÏ¢£¬ÈçËü°üº¬µÄÁС£
ÏÂÃæÊÇÒ»¸öǶÈëʽÀ࣬±íʾÁ˳µÁ¾µÄ·ÃÎÊ·þÎñ£¬Ëü´æ´¢ÁË·ÃÎʵÄÈÕÆÚ£¬ÃèÊöºÍ·ÑÓ㬴ËÍ⣬³µÁ¾¿ÉÒÔÅ䱸һ»ò¶à¸ö¿ÉÑ¡¹¦ÄÜ£¬Ã¿¸ö¹¦ÄÜÊÇFeatureTypeÀàÐ͵ÄÒ»¸öö¾ÙÖµ¡£
public enum FeatureType { AC, CRUISE, PWR, BLUETOOTH, TV, ... } @Embeddable public class ServiceVisit { @Temporal(DATE) @Column(name="SVC_DATE") Date serviceDate; String workDesc; int cost; }
ö¾ÙÖµºÍǶÈëʽ¶ÔÏó¿ÉÒÔÔÚÒ»¸ö±íʾ³µÁ¾·þÎñÀúÊ·µÄʵÌåÖÐʹÓã¬È磺
@Entity public class Vehicle { @Id int vin; @ElementCol
Ïà¹ØÎĵµ£º
×î½ü¶ÁÍê<Java²¢·¢±à³Ìʵ¼ù>,ÎÞÒÉÕâÊÇÒ»±¾ºÃÊé,ËüʹµÃÎÒ¶ÔÏß³Ì,Ëø,ÒÔ¼°Óë²¢·¢Ïà¹ØµÄ
һЩ֪ʶÌåϵ¸ü¼ÓÍ걸,Ïл°²»¶à˵,ÏÂÃæÎÒϵͳÊáÀíÁËÏÂÀïÃæµÄһЩÀíÂÛÒªµã,ÏàÐÅʵ¼ùÉÏ
Ãæ,´ó¼Ò»ò¶à»òÉÙ¶¼»áÓÐÌå»á,ÄÇôÓÃÀíÂÛµÄ֪ʶµã½«Êµ¼ùÌå»áÁýÂçÆðÀ´,½«»áÐγɸü¼ÓÀιÌ
ºÍÍ걸µÄ֪ʶÌåϵ,ÖÁÉÙÎÒÕâôÈÏΪ,дÕâһƪ±Ê¼ÇÒ²ÊÇÓÃÒÔ ......
ËäÈ»¿ÉÒÔͨ¹ý https://swinglabs.dev.java.net/ ·ÃÎʵ«ÊÇÒѾֹͣ¸üÐÂÁË£¬²»ÖªµÀж«¼ÒoracleÊÇ·ñ»á×ÊÖú¡£
×ÓÏîÄ¿
Ãû³Æ
ÕªÒª
actions
A simple framework for declarative actions in Swing apps
aerith
Cool JavaOne Demo
appframework
Swing Application Framework
beansbinding
Beans Bind ......
ËïöÎÀÏʦ´Ó98Ä꿪ʼ´ÓÊÂÈí¼þ¿ª·¢¹¤×÷£¬¸ºÔ𲢿ª·¢µÄÏîÄ¿ÓУº
¡¡¡¡
1999Ä꣬²ÉÓÃsocket±à³ÌÍê³ÉÓïÒôË«Ïò·ÒëϵͳµÄÍøÂç´«Ê书ÄÜ¡£
¡¡¡¡2000Äê³õ£¬´ÓÊÂÓïÒôË«Ïò·ÒëϵͳµÄÕûÌ忪·¢£¬Ê¹ÓÃvcºÍ±ê×¼c£¬´ËÏîÄ¿¾ßÓм«¸ßµÄ¼¼Êõº¬Á¿£¬ÆäÖаüÀ¨ÁËÓïÒôʶ±ð¼¼Êõ£¬ÓïÒôºÏ³É¼¼Êõ£¬»úÆ÷·Òë¼¼Êõ£¬¶àýÌå²¥·ÅÓë´«Êä¼¼Êõ¡£²¢ÓÉ´Ë»ñµÃÁËÐÅÏ ......
1.2 ¹¤³§·½·¨£¨Factory Method£©Ä£Ê½
¹¤³§·½·¨Ä£Ê½ÊÇÀàµÄ´´½¨Ä£Ê½£¬ÓÖ½ÐÐéÄâ¹¹Ôì×Ó£¨Virtual Constructor£©Ä£Ê½»òÕß¶à̬ÐÔ¹¤³§£¨Polymorphic Factory£©Ä£Ê½¡£
¹¤³§·½·¨Ä£Ê½µÄÓÃÒâÊǶ¨ÒåÒ»¸ö´´½¨²úÆ·¶ÔÏóµÄ¹¤³§½Ó¿Ú£¬½«Êµ¼Ê¹¤×÷ÍÆ³Ùµ½×ÓÀàÖС£
1.2.1 ¹¤ ......
1.Èç¹ûÔÚÏÂÃæµÄ´úÂëÖУ¬tryLock¸Ä³Élock£¬ÄÇô»áÒ»Ö±µÈ´ý£¬Ö±µ½Äܹ»ËøÉÏÎļþΪֹ£¬µ«tryLock»áÁ¢¼´·µ»Ø¡£
Èç¹ûÒ»¸öµ÷ÓÃÁËtryLock£¬»òlock²¢Çҳɹ¦ËøÉÏÖ¸¶¨ÎļþºóµÄ³ÌÐò£¬ÔÚûÓÐÊÍ·ÅÎļþËøµÄÇé¿öÏ£¨Ã»Óе÷ÓÃrelease£©³ÌÐò¾Í½áÊø£¨°üº¬Ç¿ÖƽáÊøµÄÇé¿ö£©£¬ÄÇôÎļþËø»á×Ô¶¯±»ÊÍ·Å¡£
2.´úÂëÖеÄsleepÊÇΪÁ˱ãÓÚÑéÖ¤³ÌÐòÓõġ ......