oracle sequence 在存储过程和 hibernate中取值不一致

原创 2012年03月31日 16:28:14

问题:

在oracle中定义序列号(sequence).

在存储过程中使用该序列得到的值

和在java中对使用该序列的实体进行持久化时等到值没有任何联系.

 

解决办法:

定义javax.persistence.SequenceGenerator时增加参数allocationSize=1

@javax.persistence.SequenceGenerator(name = "类引用该序列的名称", sequenceName = "序列在数据库中的名字",allocationSize=1)

oracle数据库并不保证sequence生成顺序与的数据插入顺序的保持一致。

本文证明了如下结论: 1)oracle数据库本身并不保证sequence生成顺序与数据的插入顺序保持一致,所以基于这两者一致性的假设,都可能会导致错误结果发生。 2)mysql数据库中Auto_Inc...
  • budapest
  • budapest
  • 2013年07月29日 21:07
  • 4714

oracle 数据导出导入序列不一致问题

1.ORACLE数据库在导入导出时序列不一致的问题   在使用ORACLE数据库时,当给一个表设置自增字段时,我们经常会使用到序列+触发器来完成。但当你需要对数据库进行导入导出时,序列很容易出问题...
  • u012280953
  • u012280953
  • 2015年06月02日 08:52
  • 960

Hibernate学习-用oracle sequence序列生成ID的配置示例

TMP_EMP中的ID是根据序列SQ_TMP_EMP来生成的,需要在TmpEmp.hbm.xml中设置:              SQ_TMP_EMP          ...
  • shadow_zed
  • shadow_zed
  • 2017年07月22日 23:07
  • 219

hibernate oracle主键自增长中sequence跳号无序的问题

1. 配置序列产生器相关属性 hibernate注解设置数据库主键自增长时,如果oracle表中的主键ID没有按照正常的sequence自增长(+1)存入数据库。可以在序列产生器中加上allocat...
  • mafly008
  • mafly008
  • 2013年06月28日 13:31
  • 2268

ORACLE RAC环境下读取序列乱序问题

在数据库部署了RAC环境之后,偶尔会出现从Oracle Sequence所取出来的数是混乱的,比如第二次比第一次所取的数要小。这样当程序的逻辑依赖于ID的大小来排序时,就会产生系统混乱。 其实问题...
  • scorpio3k
  • scorpio3k
  • 2013年02月21日 12:59
  • 6813

ORACLE 通过EXP IMP同步数据时sequence问题

前几天通过exp从正式库向测试库同步数据,导出是按schema
  • changhe325
  • changhe325
  • 2014年10月27日 17:37
  • 580

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

如果oracle程序没有按照hibernater设置的sequence自增长。可以试试这样。 在@SequenceGenerator中加入allocationSize = 1就可以了...
  • z69183787
  • z69183787
  • 2013年12月17日 12:01
  • 1858

ORACLE(SEQUENCE)序列总结

序列介绍 序列是一个计数器,它并不会与特定的表关联。通过创建Oracle序列和触发器实现表的主键自增。 序列的用途一般用来填充主键和计数。 序列使用 1.创建序列 OR...
  • fjseryi
  • fjseryi
  • 2016年03月12日 11:04
  • 1644

Hibernate 中执行 对Oracle 数据库执行 save 方式是报 序列不存在 的问题?

网上查询出现这种问题的结论是 : oracle 数据库插入数据不能自增,可以创建sequence生成自增序列(关于sequence还不是很了解,先写解决方法,以后在了解补充)  开始的时候...
  • chuck_kui
  • chuck_kui
  • 2016年05月28日 19:44
  • 2941

Oracle数据库中字段定义为Char类型,Hibernate用该字段进行动态绑定参数查询,获取不到结果的问题

一、问题背景产生环境:oracle数据库,hibernate操作定义了一个表 create table STORE_INFORMATION ( id CHAR(32) n...
  • honghailiang888
  • honghailiang888
  • 2017年06月27日 10:02
  • 745
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle sequence 在存储过程和 hibernate中取值不一致
举报原因:
原因补充:

(最多只允许输入30个字)