通过注释指定HSQLDB标识的初始值

时间:2011-02-14 16:25:56

标签: sql hibernate primary-key identity hsqldb

我可以在HSQLDB数据库之上使用Hibernate / JPA注释指定IDENTITY列的初始值吗?到目前为止,相关的源代码如下所示:

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
    return id;
}

生成的DDL如下所示:

id bigint generated by default as identity (start with 1)

我想做的是通过注释使ID值以10,000开头。

注意:这是一个新的应用程序,因此我使用的是最新版本的Hibernate和HSQLDB。

1 个答案:

答案 0 :(得分:0)

由于这个问题最初没有被标记为Hibernate,因此Hibernate专家可能会错过它。我刚刚注意到Hibernate HSQLDialect为所有身份创建返回(以1开头)。因此,可能无法覆盖这一点。

您应该研究如何在创建表之后但在添加数据之前执行SQL语句来重置标识。 SQL看起来像:

ALTER TABLE hibernate_generated_table_name ALTER COLUMN id RESTART WITH 10000