熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

在Hibernate中Oraclesequence的使用

2013-11-13 15:29:56  來源: Oracle 

  一 為表創建自增長自段有兩種一種是不同的表使用各自的Sequence方法如下

  在Oracle sequence首先創建sequence

  create sequence seq_idminvalue start with increment by cache

  在你的hbmxml中的配置

  seq_id

  這樣再插入數據的時候Hibernate會自動生成如下語句

  hibernate select seq_idnextval from dual hibernate insert into YXJKT_YXJK_WHRYTXL (XM ZW LXDH SJHM DZYJIP ID) values (? ?)

  自動生成下一個序列值然後將對象插入表中在使用的時候需要注意Hibernate對於sequence的主鍵的要求是一定要是shorlong或者integer

  二 還有一種方式是使用公共的sequence 這各時候可以不指定表使用的sequence那麼相應的hbmxml中內容是

  然後創建公用的 sequence對象命名為 hibernate_sequence

    create sequence hibernate_sequence

  minvalue

  maxvalue

  start with

  increment by

  三 注意事項

  如果數據庫是從sqlserver等其他數據庫移植而來的那麼創建sequence時的起始值應該比當前表中最大的ID值大否則會出現錯誤因為sequence 不會維護是否和導庫前現有的值重復

  sequence用於Oracle數據庫

  序列名

  native跨數據庫時使用由底層方言產生

  Defaultsequence為hibernate_sequence

  注使用native時Hibernate默認會去查找Oracle中的hibernate_sequence序列如果Oracle中沒有該序列連Oracle數據庫時會報錯


From:http://tw.wingwit.com/Article/program/Oracle/201311/16815.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.