我可以在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。
答案 0 :(得分:0)
由于这个问题最初没有被标记为Hibernate,因此Hibernate专家可能会错过它。我刚刚注意到Hibernate HSQLDialect为所有身份创建返回(以1开头)。因此,可能无法覆盖这一点。
您应该研究如何在创建表之后但在添加数据之前执行SQL语句来重置标识。 SQL看起来像:
ALTER TABLE hibernate_generated_table_name ALTER COLUMN id RESTART WITH 10000