使用oracle / JPA Hibernate。我以下面的方式导入了学生表下具有值的模式。这是示例
100
85
80
70
1
我的代码如下:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
long id;
现在插入新学生时,它不会插入最大值,即101(最大+ 1)。但是在两者之间插入一些值 像90.我不确定它是如何可能的?
Hibernate是否在内部创建了一些数据库序列,然后使用最后创建的值加1
答案 0 :(得分:3)
对于oracle,是的,它会创建一个序列(可能名为hibernate_sequence
)。
如果表中有现有值,您可能希望更新序列以使您的ID大于现有值(否则您很快就会遇到主键错误)。