数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

在Hibernate中Oraclesequence的使用


发布日期:2020年01月07日
 
在Hibernate中Oraclesequence的使用

为表创建自增长自段有两种一种是不同的表使用各自的Sequence方法如下

在Oracle sequence首先创建sequence

create sequence seq_idminvalue start with increment by cache

在你的hbmxml中的配置

seq_id

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

hibernate select seq_idnextval from dual hibernate insert into YXJKT_YXJK_WHRYTXL (XM ZW LXDH SJHM DZYJIP ID) values (? ?)

自动生成下一个序列值然后将对象插入表中在使用的时候需要注意Hibernate对于sequence的主键的要求是一定要是shorlong或者integer

二 还有一种方式是使用公共的sequence 这各时候可以不指定表使用的sequence那么相应的hbmxml中内容是

然后创建公用的 sequence对象命名为 hibernate_sequence

create sequence hibernate_sequence

minvalue

maxvalue

start with

increment by

三 注意事项

如果数据库是从sqlserver等其他数据库移植而来的那么创建sequence时的起始值应该比当前表中最大的ID值大否则会出现错误因为sequence 不会维护是否和导库前现有的值重复

sequence用于Oracle数据库

序列名

native跨数据库时使用由底层方言产生

Defaultsequence为hibernate_sequence

使用native时Hibernate默认会去查找Oracle中的hibernate_sequence序列如果Oracle中没有该序列连Oracle数据库时会报错

上一篇:在Oracle中实现数据库的复制

下一篇:Oracle10G常用维护语句