根据sequence生成id报错问题解决

白的灰 贡献于2014-10-14

作者 zwx  创建于2013-07-23 01:53:00   修改者gaojiating  修改于2013-11-01 08:20:00字数539

文档摘要:Oracle自增Id手动插入数据时插入的Id大于自增序列的下一个值时,等Sequence值为曾经插入的这个值的时候就会无法插入。
关键词:

Oracle自增Id 手动插入数据时插入的Id大于自增序列的下一个值时,等Sequence值为曾经插入的这个值的时候就会无法插入。 解决办法: 重新设置增长初始值: Alter Sequence hibernate_sequence Increment By 30000; 查询下一个序列值: select hibernate_sequence.nextval from dual; 查询当前序列值,必须在执行 nextval后操(取session中的): select hibernate_sequence.CURRVAL from dual; 实体类中的设置: @Entity @Table(name = "KC_UserRole") @SequenceGenerator(name = "userRole_gen", sequenceName = "userRole_sequence", initialValue = 50000, allocationSize = 1) public class UserRole implements Serializable { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "userRole_gen") private Integer id; }

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档