mysql与oracl序列问题

mysql序列,数据库本身支持自动递增,

oracl序列,数据库本身不支持递增,需要你去为pojo创建序列:

  ---------------------

CREATE SEQUENCE sequence  //创建序列名称

       [INCREMENT BY n]  //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1

       [START WITH n]    //开始的值,递增默认是minvalue 递减是maxvalue

       [{MAXVALUE n | NOMAXVALUE}] //最大值

       [{MINVALUE n | NOMINVALUE}] //最小值

       [{CYCLE | NOCYCLE}] //循环/不循环

       [{CACHE n | NOCACHE}];//分配并存入到内存中

 

  NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用

 CURRVAL 中存放序列的当前值

  NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效

 

---------------------------------

 

在执行insert命令时,hibernate会跟据数据库的不同,去采用不同的抢占主键id的方式

           对于oracl来说,hibernate会在insert命令执行后,先发出序列查询语句,抢占id,然后再发出insert的sql语句。

            对于mysql来说,hibernate会在insert命令执行后,先发出insert的sql语句,去抢占自增长的id.

 

 

 

转载于:https://my.oschina.net/u/3139755/blog/811266

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值