²Â²Â¿´£¬Hibernate»áÖ´Ðм¸¾äSQL(Ò»)
POEAAÖнéÉÜÁËORMÖÐ×îÖØÒªµÄģʽ֮һ£ºUnit Of Work¡£¿´ËƼòµ¥£¬ÊµÏÖÆðÀ´È´·Ç³£¸´ÔÓ¡£
HibernateÍêÃÀµÄʵÏÖÁËÕâ¸öģʽ¡£ÒÔÏÂÎÒÓÃһϵÁеÄÀý×ÓÀ´·ÖÎöHibernateµÄ´¦Àí»úÖÆ
ÏÂÃæÓÐÈý¸öÀý×Ó£¬²Â²Â¿´Hibernate»áÖ´Ðм¸¾äSQL(Ê¡ÂÔÊÂÎñ´¦Àí´úÂ룬ʵÌå¶ÔÏó½ÐUser£¬¼ÙÉèÖ÷¼üÊÇ×ÔÔöÐ͵Ä)
Àý1:
User user = new User();
user.setName("KENT");
session.save(user);
session.save(user);
Àý2:
User user = new User();
user.setName("KENT");
session.save(user);
user.setName("JACK");
session.save(user);
Àý3:
User user = new User();
user.setName("KENT");
session.save(user);
user.setName("JACK");
session.save(user);
user.setName("TOM");
session.save(user);
ÈÃÎÒÃÇ¿´¿´´ð°¸
Àý1:Á½´Îsave£¬½ö½öÖ´ÐÐinsertÓï¾äÒ»´Î£¬Ã»ÓÐÖ´ÐÐupdate
Àý2:Ö´ÐÐinsertÓï¾äÒ»´Î£¬ÏÈinsert³ÉKENT£¬È»ºóÖ´ÐÐupdate£¬È»ºóupdate³ÉJACK
Àý3:Ö´ÐÐinsertÓï¾äÒ»´Î£¬ÏÈinsert³ÉKENT£¬È»ºóÖ´ÐÐupdate£¬È»ºóupdate³ÉTOM£¬Ã»ÓÐupdate³ÉJACKµÄ¹ý³Ì
Äã²Â¶ÔÁËÂð£¿
ÎÒÃÇ¿´HibernateÔ´Â룬¿´µ½UnitOfWork´óÖÂÔÀíÊÇÕâÑùµÄ£º
Hibernate²¢²»ÊÇsave()Á˾ÍÖ±½ÓÖ´ÐÐsql£¬¶øÊÇʹÓÃÑÓʱִÐеķ½Ê½¡£Ö±µ½flushʱ²Å»áÒ»´ÎÐÔÖ´Ðжà¾äsql
HibernateʹÓÃAction½Ó¿Ú±íʾÿ´ÎÔöɾ¸ÄµÄÐÐΪ£¬ËùÓеÄÐÐΪ¶¼Ê¹ÓÃActionQueueÅÅÐò
µ±Ö´ÐÐÒ»´Îsave()·½·¨£¬Hibernate»áÅжϴ˶ÔÏóµÄ״̬¡£Èç¹ûÊÇTransient¾ÍÔÚActionQueueÖÐÔö¼ÓÒ»¸öInsertAction£¬²¢Éú³É´Ë¶ÔÏóµÄÖ÷¼ü£¬°Ñ´Ë¶ÔÏó±ê¼ÇΪPersistent¡£Í¬Ê±£¬»á°ÑËùÓÐÊôÐÔµÄ״̬±£´æµ½Ò»¸öÊý×éÖС£
ÔÙ´ÎÖ´ÐÐsave()·½·¨Ê±£¬Èç¹ûÊÇPersistent£¬²¢²»»áÖ±½Ó²úÉúupdateAction
µ±Êý¾Ýcommit֮ǰ£¬Ò»¶¨»áÖ´ÐÐflush()£¬¸ù¾Ý±£´æµÄËùÓÐÊôÐÔµÄ״̬£¬Åжϵ±Ç°¶ÔÏóµÄ×Ö¶ÎÊÇ·ñ±»¸üйý£¬Èç¹û±»¸üйý£¬Ôò»áÔÚActionQueueÖÐÔö¼ÓÒ»¸öUpdateAction
ËùÒÔ
Àý1»á²úÉúInsertAction
Àý2»á²úÉúInsertAction¡¢UpdateAction
Àý3»á²úÉúInsertAction¡¢UpdateAction
´ËÀýÖÐÖ»ÊÇÐÂÔö»òÐ޸ģ¬Èç¹ûÓÐɾ³ýºÍ²éѯ£¬HibernateÓÖ»áÈçºÎ´¦ÀíÄØ£¿
Çë¿´ºóÎÄ......
Ïà¹ØÎĵµ£º
# MySQL-Front 5.1 (Build 4.2)
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */;
/*!40101 SET SQL_MODE='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES */;
/*!40103 SET SQL_NOTES='ON' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS */ ......
<!--
/* Font Definitions */
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;
mso-font-alt:ËÎÌå;
mso-font-charset:134;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
{font-family:"Cambria Mat ......
½ñÌì²âÊÔwebÏîĿн¨ÁËÒ»¸öÊý¾Ý¿â£¬½á¹û±¨´í,ÒÔǰµÇ¼ֱ½ÓÑ¡Ôñ'WindowsÉí·ÝÑéÖ¤',²¢Ã»ÓÐʲôÎÊÌâ³öÏÖ!¿Éǰ¶Îʱ¼ä²ÉÓÃ'SQLSERVERÉí·ÝÑéÖ¤'È¥µÇ¼,ËæÖ®µÄÎÊÌâ¾ÍÀ´ÁË.ÎÞÂÛÓÃʲô·½·¨¾ÍÊÇÒ»¸ö½á¹û³ö´í! ³ö´íµÄÔÒòÊÇ:'Óû§ 'sa' µÇ¼ʧ°Ü¡£¸ÃÓû§Óë¿ÉÐÅ SQL Server Á¬½ÓÎÞ¹ØÁª'.½ñÌìÉÏÍøÉϲéÁ˰ëÌ컹ÊǸ㲻¶¨,×îºó¾¹ýÍøÉϺÍÊéÉ ......
begin
for item in (select * from user_constraints a where a.constraint_type = 'R') loop
execute immediate 'alter table ' || item.table_name || ' disable constraint ' || item.constraint_name;
end loop;
end;
/ ......
ÎÒÃÇÖªµÀÓÃpowerdesignerµ¼³öµÄsqlÎļþºó׺Ϊ'.sql'£»ÓÃphpmyadminºÜÈÝÒ×µ¼ÈëMysQLÊý¾Ý¿â£¬µ«ÊÇÓÃPHPÔõôµ¼ÈëÊý¾Ý¿âÄØ?
ÎÒÓÃpowerdesignerÉè¼ÆÒ»¸öÊý¾Ý¿âºóµ¼³ösqlÎļþ£¨Ò»¸öͶƱϵͳ£©Îª'vote.sql'£»
ÎļþÄÚÈÝΪ£¨Ò»Ð©sqlÓï¾äºÍ×¢ÊÍ£©£º
/*======================= ......