ϵͳѧϰhibernateÖ®¶þ SessionÖÐloadºÍget[Java±à³Ì]
¡¡¡¡±¾ÎÄ¡°ÏµÍ³Ñ§Ï°hibernateÖ®¶þ SessionÖÐloadºÍget[Java±à³Ì]¡±ÊÇÓÉÆßµÀÆæΪÄú¾«ÐÄÊÕ¼¯£¬À´Ô´ÓÚÍøÂçתÔØ£¬ÎÄÕ°æȨ¹éÎÄÕÂ×÷ÕßËùÓУ¬±¾Õ¾²»¶ÔÆä¹ÛµãÒÔ¼°ÄÚÈÝ×öÈκÎÆÀ¼Û£¬Çë¶ÁÕß×ÔÐÐÅжϣ¬ÒÔÏÂÊÇÆä¾ßÌåÄÚÈÝ£º
ÓÃhibernateµÄORM¿ò¼ÜÓÐÒ»¶Îʱ¼äÁË,Ä¿Ç°Íù¸´ÏëÒ»ÏÂSeesionÖеÄloadºÍget.
1¡¢get²»Ö§³Ölazy,loadÖ§³Ölazy.
2¡¢²ÉÈ¡get¼ÓÔØÊý¾Ý,¼ÙÈçûÓÐÆ¥ÅäµÄÊý¾Ý,·µ»Ønull,¶øloadÔòÅ׳ö·Ç³£.
getµÄÀý×Ó:
1public void testGetMethod() {
2¡¡¡¡¡¡¡¡Session session = null;
3¡¡¡¡¡¡¡¡try {
4¡¡¡¡¡¡¡¡¡¡¡¡session = HibernateUtils.getSession();
5¡¡¡¡¡¡¡¡¡¡¡¡session.beginTransaction();
6
7¡¡¡¡¡¡¡¡¡¡¡¡//¼´¿Ì·¢³ö²éѯsql,¼ÓÔØUser¶ÔÏó
8¡¡¡¡¡¡¡¡¡¡¡¡User user = (User)session.get(User.class, "402880d01b9bf210011b9bf2c2ff0002");
9¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("user.name=" + user.getName());
10
11¡¡¡¡¡¡¡¡¡¡¡¡user.setName("ÕÅÈý");
12¡¡¡¡¡¡¡¡¡¡¡¡session.getTransaction().commit();
13¡¡¡¡¡¡¡¡}catch(Exception e) {
14¡¡¡¡¡¡¡¡¡¡¡¡e.printStackTrace();
15¡¡¡¡¡¡¡¡¡¡¡¡session.getTransaction().rollback();
16¡¡¡¡¡¡¡¡}finally {
17¡¡¡¡¡¡¡¡¡¡¡¡HibernateUtils.closeSession(session);
18¡¡¡¡¡¡¡¡}
19¡¡¡¡}
PS:ÔÚÂÄÐеÚ8ÐÐÓï¾äµÄʱ¿Ì,¼ÙÈçÊý¾Ý¿âÓÐÏà¹ØµÄ¼Ç¼,ÔòÁ¢¼´·¢³ösqlÓï¾ä,¼´±ãÊÇûÓеÚ9ÐÐÖÐuser.getName()°ì·¨µ÷ÓÃ,¼ÙÈçûÓÐÆ¥ÅäµÄ¼Ç¼Ôò·µ»ØÀ´Ò»¸önull.
load°ì·¨¹æ×Ó:
1public void testLoadMethod() {
2¡¡¡¡¡¡¡¡Session session = null;
3¡¡¡¡¡¡¡¡try {
4¡¡¡¡¡¡¡¡¡¡¡¡session = HibernateUtils.getSession();
5¡¡¡¡¡¡¡¡¡¡¡¡session.beginTransaction();
6
7¡¡¡¡¡¡¡¡¡¡¡¡//²»»á·¢³ö²éѯsql,ÒòΪload°ì·¨ÊµÏÖÁËlazy£¨ÀÁ¼ÓÔØ»òµ¢Îó¼ÓÔØ£©
8¡¡¡¡¡¡¡¡¡¡¡¡//µ¢Îó¼ÓÔØ:Ö»ÓÐÕæÕýÀûÓÃÕâ¸ö¶ÔÏóµÄʱ¿Ì,²Å¼ÓÔØ£¨·¢³ösqlÓï¾ä£©
9¡¡¡¡¡¡¡¡¡¡¡¡//hibernateµ¢Îó¼ÓÔØʵÏÖÔÀíÊÇ´úÀí·½·¨
10¡¡¡¡¡¡¡¡¡¡¡¡User user = (User)session.load(User.class, "402880d01b9bf210011b9bf2b2ff0002");
11¡¡¡¡¡¡¡¡¡¡¡¡System.out.println("user.name=" + user.getName());
12¡¡¡¡¡¡¡¡¡¡¡¡user.setName("ÀîËÄ");
13¡¡¡¡¡¡¡¡¡¡¡¡session.getTransaction().commit();
14¡¡¡¡¡¡¡¡}catch(Exception e) {
15¡¡¡¡¡¡¡¡¡¡¡¡e.printStackTrace();
16¡¡¡¡¡¡¡¡¡¡¡¡session.getTransaction().rollback();
17¡¡¡¡¡¡¡¡}finally {
18¡¡¡¡¡¡¡¡¡¡¡¡HibernateUtils.closeSession(session);
19¡¡¡¡¡¡¡¡}
20¡¡¡¡}
PS:ÔÚÂÄÐе½10¾ä´úÂëµÄʱ¿Ì²¢Ã»ÓÐÁ¢¼´·¢³ösqlÓï¾ä,ÓÉÓÚloadʵÏÖÁËlazyµ¢Îó¼ÓÔØ,µ¢Îó¼ÓÔØÖ»ÓÐÕæÕýÀûÓøöÔÏóµÄʱ¿Ì²Å¾ÙÐмÓÔØ,·¢³ösqlÓï¾ä,¹Ø¼üÊÇ11¾ä´úÂë.¼ÙÈçload°ì·¨ÀïÃæµÄidÔÚÊý¾Ý¿â±íÀïÃæûÓÐÏà¹ØµÄ,Ôò»á·¢³öObjectNotFoundException·Ç³£.
PSPS:¿ÉÒÔͨ¹ýÉèÖöϵã,ÓÃdebugÀ´¸ú×ÙÏà¹Ø±äÁ¿¸ú¶ÔÏóµÄ¸Ä±ä,ÕâÑù±ã¿ÉÒÔºÜÇå³þÀí½âloadºÍgetÕâÁ½¸ö°ì·¨.
¡¡¡¡ÒÔÉÏÊÇ¡°ÏµÍ³Ñ§Ï°hibernateÖ®¶þ SessionÖÐloadºÍget[Java±à³Ì]¡±µÄÄÚÈÝ£¬Èç¹ûÄã¶ÔÒÔÉϸÃÎÄÕÂÄÚÈݸÐÐËȤ£¬Äã¿ÉÒÔ¿´¿´ÆßµÀÆæΪÄúÍƼöÒÔÏÂÎÄÕ£º
±¾ÎĵØÖ·£º | ÓëÄúµÄQQ/BBSºÃÓÑ·ÖÏí! |