Hibernate中使用oracle的序列(sequence)生成主键

在oracle中,我们常使用sequence做为表的主键,用Hibernate时需要在hbm.xml中做下配置: 

<id name="userId" type="java.lang.Long">   
    <column name="USER_ID" precision="22" scale="0" />   
    <generator class="sequence">   
    <param name="sequence">SEQ_USER</param>   
    </generator>   
</id>   

这样再插入数据的时候,Hibernate回自动生成如下语句: 

Hibernate: select SEQ_USER.nextval from dual   

自动生成下一个序列值,然后将对象插入表中。 

在oracle中创建sequence方法: 
-- Create sequence     
create sequence SEQ_USER    
minvalue 1   
maxvalue 999999999999999999999999999   
start with 1   
increment by 1   
cache 20;   

你可能感兴趣的:(Hibernate)