java - 为什么 hibernate 在第一条记录中创建 50000000000000001?

标签 java hibernate sybase

我将 Hibernate 与 Sybase 结合使用来创建新记录:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")

这是我在数据库中创建字段的查询:

ID bigint  IDENTITY NOT NULL

创建第一条记录后,ID 为 50000000000000001。有什么问题吗?我希望第一个值为 1。

最佳答案

它可能发生在 Sybase 异常关闭之后。有很好的解释here . “恢复”它的最佳方法是运行 sp_chgattribute command ,像这样:

sp_chgattribute "table_name", "identity_gap", set_number

关于java - 为什么 hibernate 在第一条记录中创建 50000000000000001?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43539137/

相关文章:

java - 仅从类层次结构中检索父类(super class)

java - 使用 Hibernate 保存对象

java - 使用 Hibernate 时无法填充 jcombo 框

sql - 使用 SQL 将 DD MMM YYYY 转换为日期字段

java - LEFT JOIN 卡住查询执行

pdo - 使用 PDO 连接到 Sybase 的正确 DSN

java - JPA - 创建临时主键

java - 检查 TypeElement 是类还是接口(interface)

java - getKeyStroke(char) 与 getKeyStroke(char, int) - 我不明白区别

java - 在java中实现链表