2017-04-21 64 views
1

我使用Hibernate与Sybase创造一个新的纪录:为什么hibernate在第一条记录中创建50000000000000001?

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

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

ID bigint IDENTITY NOT NULL 

创建的第一个记录之后,ID为50000000000000001.什么是错的?我希望第一个值为1.

+0

你应该你的策略更改为GenerationType.Auto – 2017-04-21 09:41:43

+0

我改变GenerationType.Auto并获得50000000000000002.后,我删除表,并重新添加结果是1. – Adam

+0

所以它工作? – 2017-04-21 09:55:06

回答

3

它可能在Sybase异常关闭后发生。有一个很好的解释here。 “恢复”它正在运行的sp_chgattributecommand,像这样的最好方法:

sp_chgattribute "table_name", "identity_gap", set_number 
+0

是当我关机服务器时发生问题。谢谢 – Adam

相关问题