解决oracle自增长sequence失效的问题


如果oracle程序没有按照hibernater设置的sequence自增长。可以试试这样。




在@SequenceGenerator中加入allocationSize = 1就可以了

 

@SequenceGenerator

如果使用 @GeneratedValue 批注指定一个 SEQUENCE 类型的主键生成器,则可以使用 @SequenceGenerator 批注微调该主键生成器以:

  • 更改分配大小以匹配应用程序要求或数据库性能参数

  • 更改初始值以匹配现有的数据模型(例如,如果基于已经为其分配或保留了一组主键值的现有数据集构建)

  • 使用现有数据模型中预定义的序列

表 1-42 列出了此批注的属性。有关更多详细信息,请参阅 。有关更多详细信息,请参阅 API

表 1-42 @SequenceGenerator 属性

属性必需说明

name

必需


SequenceGenerator 的名称必须匹配其 startegy 设置为 SEQUENCEGeneratedValue 的名称。

allocationSize

可选


默认值: 50.

默认情况下,JPA 持续性提供程序使用的分配大小为 50。

如果此分配大小与应用程序要求或数据库性能参数不匹配,请将 allocationSize 设置为所需的 int 值。

initialValue

可选


默认值: 0.

默认情况下,JPA 持续性提供程序假设持续性提供程序将所有主键值的起始值设置为 0。

如果这与现有数据模型不匹配,请将 initialValue 设置为所需的 int 值。

sequenceName

可选


默认值:JPA 持续性提供程序分配它自己创建的序列名。

如果要使用事先存在或预定义的序列,请将 sequenceName 设置为所需的 String 名称。

 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值