休眠 GenerationType.AUTO 在 Oracle 中如何工作?
How does the hibernate GenerationType.AUTO work in Oracle?
使用 oracle/JPA 休眠。我以以下方式导入了在 student table 下具有值的模式。这是例子
100
85
80
70
1
我有以下代码:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
long id;
现在插入新学生时,不会插入最大值,即 101 (max + 1)。但是在两者之间插入一些可用的值
像 90。我不确定这怎么可能?
Hibernate 是否在内部创建一些数据库序列并使用然后使用最后创建的值加 1
对于 oracle,是的,它创建了一个序列(可能命名为 hibernate_sequence
)。
如果您在 table 中有现有值,您可能想要更新序列以提供比现有值更大的 ID(否则您很快就会遇到主键错误)。
使用 oracle/JPA 休眠。我以以下方式导入了在 student table 下具有值的模式。这是例子
100
85
80
70
1
我有以下代码:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
long id;
现在插入新学生时,不会插入最大值,即 101 (max + 1)。但是在两者之间插入一些可用的值 像 90。我不确定这怎么可能?
Hibernate 是否在内部创建一些数据库序列并使用然后使用最后创建的值加 1
对于 oracle,是的,它创建了一个序列(可能命名为 hibernate_sequence
)。
如果您在 table 中有现有值,您可能想要更新序列以提供比现有值更大的 ID(否则您很快就会遇到主键错误)。