码迷,mamicode.com
首页 > 数据库 > 详细

Hibernate在oracle中ID增长的方式

时间:2017-02-22 12:46:55      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:unique   base   src   copy   property   ppi   ges   pack   line   

引用链接:http://blog.csdn.net/w183705952/article/details/7367272

Hibernate在oracle中ID增长的方式

第一种:设置ID的增长策略是sequence,同时指定sequence的名字,最好每个表建一个sequence,此种做法就如同MS-SQL,MY-SQL中的自动增长一样,不需要创建触发器,具体的Oracle数据库脚本及hibernate配置文件如下: 


[1]oracle数据表的创建脚本: 

Java代码 技术分享

CREATE TABLE DEPARTMENT (      

 ID NUMBER(19,0) DEFAULT ‘0‘ NOT NULL,      

 NAME VARCHAR2(255) NOT NULL,      

 DESCRIPTION CLOB      

);      

ALTER TABLE DEPARTMENT ADD CONSTRAINT PRIMARY_0 PRIMARY KEY(ID) ENABLE;      

ALTER TABLE DEPARTMENT ADD CONSTRAINT UK_DEPARTMENT_1 UNIQUE (NAME);      

CREATE SEQUENCE DEPARTMENT_ID_SEQ MINVALUE 10000 MAXVALUE 999999999999999999999999 INCREMENT BY 1 NOCYCLE;  

创建DEPARTMENT表,并为DEPARTMENT表创建一个单独的SEQUENCE,名字为SEQUENCE_ID_SEQ,并不需要创建触发器。

[2]hibernate映射文件的配置: 

Java代码 技术分享

<?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在oracle中ID增长的方式

标签:unique   base   src   copy   property   ppi   ges   pack   line   

原文地址:http://www.cnblogs.com/min77/p/6428240.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!