hibernate配置oracle生成序列结果为负数
来源:互联网 发布:mac水漾轻盈粉底液 编辑:程序博客网 时间:2024/06/06 12:44
工作中使用到了oracle12的版本,使用hibernate5保存时发现生成的结果除了1正常其余的都从-49开始往上加,
数据库自身查询是没有问题的。
跟踪hibernate5的源码发现@SequenceGenerator还需要配置一个allocationSize=1才能正常
如
@SequenceGenerator(name="UMS_USER_SEQ", sequenceName="UMS_USER_SEQ",allocationSize = 1)
相关源码在org.hibernate.id.enhanced.PooledOptimizer#generate
generationState.value = callback.getNextValue();// unfortunately not really safe to normalize this// to 1 as an initial value like we do the others// because we would not be able to control this if// we are using a sequence...if ( generationState.value.lt( 1 ) ) {log.pooledOptimizerReportedInitialValue( generationState.value );}// the call to obtain next-value just gave us the initialValueif ( ( initialValue == -1&& generationState.value.lt( incrementSize ) )|| generationState.value.eq( initialValue ) ) {generationState.hiValue = callback.getNextValue();}else {generationState.hiValue = generationState.value;generationState.value = generationState.hiValue.copy().subtract( incrementSize - 1 );}
1 0
- hibernate配置oracle生成序列结果为负数
- hibernate配置oracle生成序列结果为负数
- Hibernate学习-用oracle sequence序列生成ID的配置示例
- php %运算 被除数为负数,运算结果
- hibernate 配置Oracle主键生成策略
- Oracle自增序列在Hibernate中的配置方法
- Oracle的sequence序列在hibernate中的配置方法
- Hibernate+Oracle使用序列
- oracle 生成序列脚本
- oracle 生成序列脚本
- oracle 生成序列脚本
- Oracle表序列生成
- 使用Oracle生成序列
- Hibernate SQLQuery 查询Oracle char类型结果为一个字符的解决方法
- Hibernate createSQLQuery 查询Oracle char类型结果为一个字符解决方法汇总
- 打印结果为S的连续序列
- 基于Oracle,采用JDBC、Hibernate不同方式实现自定义序列主键生成
- Hibernate UUID生成配置
- 修改代码的编码格式为UTF-8
- bootstrap-table的入门使用——从服务器获取数据
- varint - int32数据编码解码C程序实现
- CodeForces 546D (求素因子个数)
- Lock
- hibernate配置oracle生成序列结果为负数
- SpringMVC-RequestMapping注解
- 项目工作过程中遇到棘手问题是埋头钻研?还是及时向领导汇报情况?
- java 二次确认对话框
- SQL 基本知识
- ESP分区和MSR分区下怎么重做GHOST系统
- Capture - Face detection
- 当前窗口点击
- MySQL并发控制——事务与事务隔离级别详解