我已经使用纯 JPA 注释定义了许多 Hibernate 实体。它们在我的数据库上使用预定义的 Oracle 序列来自动生成主键值。
@Id
@SequenceGenerator(name = "USERS_ID_GENERATOR", sequenceName = "MY_SEQ")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "USERS_ID_GENERATOR")
@Column(name = "U_ID", updatable = false, unique = true, nullable = false, precision = 19)
private Long id;
当它被部署到 JBoss EAP 6.1 时,最初一切正常,但是在短时间内,Hibernate 开始在插入时生成重复键(ORA-00001 错误)。
我不关心 id 排序或间隙,但不能容忍重复的键......这里发生了什么?