µ±Ç°Î»ÖãºÆßµÀÆæ ¡ú ÎÄÕÂ×ÊѶ ¡ú ±à³Ì¼¼Êõ ¡ú Java±à³Ì
ÈÕÆÚ£º2011-03-22 16:13:00  À´Ô´£º±¾Õ¾ÕûÀí

ϵͳѧϰ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±à³Ì]¡±µÄÄÚÈÝ£¬Èç¹ûÄã¶ÔÒÔÉϸÃÎÄÕÂÄÚÈݸÐÐËȤ£¬Äã¿ÉÒÔ¿´¿´ÆßµÀÆæΪÄúÍƼöÒÔÏÂÎÄÕ£º
  • ϵͳѧϰhibernateÖ®Ò»:²Ù×÷hibernateÖеÄSchemaExportÉú³ÉÊý¾Ý
  • ϵͳѧϰhibernateÖ®¶þ SessionÖÐloadºÍget
  • <b>ϵͳѧϰhibernateÖ®Èý transient¡¢persistent¡¢detachedÇé¿ö</b>
  • ϵͳѧϰhibernateÖ®ËÄ hibernate¶à¶ÔÒ»¹ØÁªÓ³Éä
  • ±¾ÎĵØÖ·£º ÓëÄúµÄQQ/BBSºÃÓÑ·ÖÏí!
    • ºÃµÄÆÀ¼Û¡¡Èç¹ûÄú¾õµÃ´ËÎÄպ㬾ÍÇëÄú
        0%(0)
    • ²îµÄÆÀ¼Û¡¡Èç¹ûÄú¾õµÃ´ËÎÄÕ²¾ÍÇëÄú
        0%(0)

    ÎÄÕÂÆÀÂÛÆÀÂÛÄÚÈÝÖ»´ú±íÍøÓѹ۵㣬Óë±¾Õ¾Á¢³¡Î޹أ¡

       ÆÀÂÛÕªÒª(¹² 0 Ìõ£¬µÃ·Ö 0 ·Ö£¬Æ½¾ù 0 ·Ö) ²é¿´ÍêÕûÆÀÂÛ
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .