Database JPA:将默认列值设置为数据库中的序列

Database JPA:将默认列值设置为数据库中的序列,database,jpa,sequence,jpa-2.0,Database,Jpa,Sequence,Jpa 2.0,我使用Postgres作为数据库,JPA2.0作为提供者 我一直在使用@GeneratedValue(strategy=GenerationType.IDENTITY),它为该列生成自己的序列,并执行此查询(或类似查询) 现在我正在使用 @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GEN_COMMENT") @SequenceGenerator(name = "GEN_COMMENT", sequenceNam

我使用Postgres作为数据库,JPA2.0作为提供者

我一直在使用
@GeneratedValue(strategy=GenerationType.IDENTITY)
,它为该列生成自己的序列,并执行此查询(或类似查询)

现在我正在使用

@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GEN_COMMENT")
@SequenceGenerator(name = "GEN_COMMENT", sequenceName = "SEQ_COMMENT")
它还生成自己的序列,但不执行该查询

我的观点是,当我使用
IDENTITY
时,数据库可以自动插入序列中的列值,这在除了通过应用程序之外还有其他访问数据库时非常有用

所以我的问题是,是否有任何方法可以强制JPA将该列的默认值设置为sequence,而无需重新定义
@column(columnDefinition=“…”)


非常感谢。

这是特定于数据库的,Postgres将type
serial
定义为generation type
IDENTITY
,自动创建此数据库结构

@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GEN_COMMENT")
@SequenceGenerator(name = "GEN_COMMENT", sequenceName = "SEQ_COMMENT")