利用hibernate實現oracle(每張表的ID)自動成長

來源:互聯網
上載者:User

標籤:des   blog   http   io   ar   使用   sp   for   檔案   

設定ID的增長策略是sequence,同時指定sequence的名字,最好每個表建一個sequence
 例如建立一個序列:
CREATE SEQUENCE DEPARTMENT_ID_SEQ MINVALUE 10000 MAXVALUE 999999999999999999999999 INCREMENT BY 1 NOCYCLE;
 hibernate對應檔的配置:

  • <?xml version="1.0"?>      
  • <!DOCTYPE hibernate-mapping PUBLIC      
  •       "-//Hibernate/Hibernate Mapping DTD 3.0//EN"     
  •           "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">      
  • <hibernate-mapping package="com.liyanframework.demo.domain">      
  •     <class name="Department" table="DEPARTMENT">      
  •         <id name="id" column="ID">      
  •             <generator class="sequence">      
  •                 <param name="sequence">DEPARTMENT_ID_SEQ</param>      
  •             </generator>      
  •         </id>      
  •         <property name="name" column="NAME" type="string" />      
  •         <property name="description" column="DESCRIPTION" type="text" />      
  •     </class>      
  • </hibernate-mapping> 
    在hibernate對應檔中,對ID的建置原則選擇sequence,指定sequence的名字DEPARTMENT_ID_SEQ就可以了,當你儲存新對象的時候,hibernate會自動取得DEPARTMENT_ID_SEQ.NEXTVAL作為新對象的ID儲存到資料庫,所以不需要再使用觸發器再來產生新記錄的ID。

利用hibernate實現oracle(每張表的ID)自動成長

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.