您的位置:首页 > 数据库 > Oracle

在Hibernate中使用oracle的sequence产生主键

2007-12-17 21:54 561 查看
在很多情况下,我们使用Hibernate在已经建立好数据库的基础上。在oracle中,如果已经建立好的数据库中使用了sequence,则可以按照下面的步骤把它引入到Hibernate中:

1、在oracle 首先创建sequence

create sequence seq_id

minvalue 1

start with 1

increment by 1

cache 20;

2.在你的hbm.xml中的配置

<id column="ID0000" name="id" type="integer">

<generator class="sequence">

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

</generator>

</id>

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

hibernate: select seq_id.nextval from dual
hibernate: insert into YXJK.T_YXJK_WHRYTXL (XM0000, ZW0000, LXDH00, SJHM00, DZYJ00,

IP0000, ID0000) values (?, ?, ?, ?, ?, ?, ?)

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

在使用的时候需要注意,Hibernate对于sequence的主键的要求是一定要是shor,long,或者integer

sequence用起来还是很爽的,呵呵。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: