rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » JavaEE

Hibernate中Oracle自增长列设定

步骤如下,(不是在ApplicationContext,而是那个表对应的.hbm.xml文件中配置
1、创建表
 

SQL代码
  • CREATE TABLE T_CUST(   
  •        CUST_ID      INT            NOT NULL,   
  •        CUST_NAME    VARCHAR2(20)   NOT NULL,   
  •        CONSTRAINT   PK_T_CUST      PRIMARY KEY (CUST_ID)   
  • );  

  • 2、创建序列
     

    SQL代码
  • CREATE SEQUENCE S_CUST_ID   
  • MINVALUE     1   
  • MAXVALUE     10000000   
  • START WITH   1   
  • INCREMENT BY 1   
  • NOCACHE;  
  • 3、试试序列是否起作用
     

    SQL代码
  • INSERT INTO T_CUST(CUST_ID, CUST_NAME) VALUES(S_CUST_ID.NEXTVAL, 'hahaha');   
  •   
  • SELECT * FROM T_CUST;   
  •  

    XML/HTML代码
  • |CUST_ID|CUST_NAME|   
  • |1      |hahaha   |  
  • 4、配置TCust.hbm.xml文件
     <hibernate-mapping>  

        <class name="demo.hb.sequence.Cust" table="T_CUST" schema="DEMO">  

            <id name="custId" type="java.lang.Long">  

                <column name="CUST_ID" precision="22" scale="0" />  

                <!-- 使用Oracle Sequence的重点 -->  

                <generator class="sequence">  

                    <!-- Oracle Sequence的名字 -->  

                    <param name="sequence">S_CUST_ID</param>  

                </generator>  

            </id>  

            <property name="custName" type="java.lang.String">  

                <column name="CUST_NAME" length="20" not-null="true" />  

            </property>  

        </class>  

    </hibernate-mapping>  

    顶一下
    (0)
    踩一下
    (0)