在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
自动生成下一个序列值,然后将对象插入表中。
[size=large][color=red][b]在oracle中创建sequence方法:[/b][/color][/size]
-- Create sequence
create sequence SEQ_USER
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
<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
自动生成下一个序列值,然后将对象插入表中。
[size=large][color=red][b]在oracle中创建sequence方法:[/b][/color][/size]
-- Create sequence
create sequence SEQ_USER
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;