ÔÚhibernateÖÐʵÏÖoracleµÄÖ÷¼ü×ÔÔö²ßÂÔ
ת×Ô£ºhttp://blog.csdn.net/scorpio3k/archive/2009/05/09/4162079.aspx
ÔںܶàÇé¿öÏ£¬ÎÒÃÇʹÓÃHibernateÔÚÒѾ½¨Á¢ºÃÊý¾Ý¿âµÄ»ù´¡ÉÏ¡£ÔÚoracleÖУ¬Èç¹ûÒѾ½¨Á¢ºÃµÄÊý¾Ý¿âÖÐʹÓÃÁËsequence
,Ôò¿ÉÒÔ°´ÕÕÏÂÃæµÄ²½Öè°ÑËüÒýÈëµ½HibernateÖУº
1¡¢ÔÚoracle Ê×ÏÈ´´½¨sequence
create sequence seq_id
minvalue 1
start with 1
increment by 1
cache 20;
2.ÔÚÄãµÄhbm.xmlÖеÄÅäÖÃ
<id column="ID0000" name="id" type="integer">
<generator class="sequence">
<param name="sequence">seq_id</param>
</generator>
</id>
ÕâÑùÔÙ²åÈëÊý¾ÝµÄʱºò£¬Hibernate»Ø×Ô¶¯Éú³ÉÈçÏÂÓï¾ä£º
hibernate
: select seq_id.nextval from dual
hibernate
: insert into YXJK.T_YXJK_WHRYTXL (XM0000, ZW0000, LXDH00, SJHM00, DZYJ00,
IP0000, ID0000) values (?, ?, ?, ?, ?, ?, ?)
×Ô¶¯Éú³ÉÏÂÒ»¸öÐòÁÐÖµ£¬È»ºó½«¶ÔÏó²åÈë±íÖС£
ÔÚʹÓõÄʱºòÐèҪעÒ⣬Hibernate¶ÔÓÚsequenceµÄÖ÷¼üµÄÒªÇóÊÇÒ»¶¨ÒªÊÇshor,long£¬»òÕßinteger
¸ù¾ÝhibernateµÄÎĵµ£¬ÓÐÁ½ÖÖ·½Ê½ÊµÏÖʵÌå¶ÔÏóµÄÖ÷¼ü×Ô¶¯Ôö³¤¡£
µÚÒ»ÖÖ£ºÉèÖÃIDµÄÔö³¤²ßÂÔÊÇsequence£¬Í¬Ê±Ö¸¶¨sequenceµÄÃû×Ö£¬×îºÃÿ¸ö±í½¨Ò»¸ösequence£¬´ËÖÖ×ö·¨¾ÍÈçͬMS-SQL,MY-SQLÖеÄ×Ô¶¯Ôö³¤Ò»Ñù£¬²»ÐèÒª´´½¨´¥·¢Æ÷£¬¾ßÌåµÄoracleÊý¾Ý¿â½Å±¾¼°hibernateÅäÖÃÎļþÈçÏ£º
[1]or
Ïà¹ØÎĵµ£º
Ò»¡¢PL/SQL±à³Ì¹æ·¶Ö®´óСд
¾ÍÏñÔÚSQLÖÐÒ»Ñù£¬PL / SQLÖÐÊDz»Çø·Ö´óСдµÄ¡£ÆäÒ»°ã×¼ÔòÈçÏ£º
¹Ø¼ü×Ö(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP)¡¢Êý¾ÝÀàÐÍ(VARCHAR2, NUMBER)¡¢ÄÚ²¿º¯Êý(LEAST, SUBSTR)ºÍÓû§¶¨ÒåµÄ×Ó³ÌÐò(procedures, functions,packages)£¬Ê¹Óôóд¡£
±äÁ¿ÃûÒÔ¼°SQLÖеÄÁÐÃûºÍ±íÃû£¬Ê¹ÓÃÐ ......
ÔÚOracle Database 10gÖÐ,OracleµÄĿ¼½á¹¹ÊÇÓÉOracle_Base¼°Æä×ÓĿ¼Oracle_Home¡¢admin¡¢flash_recovery_areaºÍoradataĿ¼¹¹³ÉµÄ¡£Îª·½±ãÌÖÂÛ£¬ÓÃOracle_Base´ú±íOracleĿ¼Ê÷µÄ¸ù£¬ÓÃOracle_Home±íʾ¸ùĿ¼ÏµÄÖ÷Ŀ¼¡£
1.Oracle_BaseĿ¼
Oracle_Base´ú±íOracleĿ¼Ê÷µÄ¸ù¡£Èç¹ûʹÓÃOracle Universal Installer½øÐ ......
2009Äê9ÔÂOracle¹«Ë¾·¢²¼ÁËÆÚ´ýÒѾõÄOracle 11g R2£¬±¾ÏµÁÐÎÄÕ½«¸ø¶ÁÕßÒ»Ò»½Ò¿ªÐ°汾ÖеÄÐÂÌØÐÔ£¬²¢»á½éÉÜÆóÒµÈçºÎÀûÓÃÕâЩÐÂÌØÐÔ½«ÏÖÓеÄOracle 9i£¬10g£¬11g R1Éý¼¶µ½Oracle 11g R2.
¡¡¡¡¾ÀúÁËÄÑÒÔÈÌÊܵij¤Ê±¼äµÈ´ý£¬Oracle¹«Ë¾Í»È»ÔÚ9ÔÂ1·¢²¼ÁËOracle 11g R2£¬ÎÒ²»µÃ²»³ÐÈÏOracleµÄ±£Ãܹ¤×÷×öµÃ¶àôºÃ£¬ÎÒÏàÐÅOracl ......
ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬¾³£»áÓõ½hint,
ÒÔÏÂÊÇÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracleÖÐ"HINT"µÄ30¸öÓ÷¨1. /*+ALL_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯.
ÀýÈç:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='SCOTT';
2. /*+FIRST_ROWS*/
±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ ......
ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£© Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLEµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£ ......