我已经配置了Hibernate以使用Oracle序列。 序列的缓存大小为20,递增量为1。
一切都正常,Hibernate可以持久化实体。 但是ID值很奇怪:50、51……76、201、202……209、1008、1009、5129、5130等。
如果我要求序列的值(从dual中选择hibernate_sequence.nextval),我得到的值是2、3、4等。
如果我打开Hibernate SQL调试,有时会调用“select hibernate_sequence.nextval from dual”,但由Hibernate分配给ID的数字并不依赖于序列!
@Id
@Column(name = "ID", insertable = false, updatable = false)
@SequenceGenerator(name = "SequenceIdGenerator", sequenceName = "HIBERNATE_SEQUENCE")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SequenceIdGenerator")
private Long id;