Database JPA:将默认列值设置为数据库中的序列
我使用Postgres作为数据库,JPA2.0作为提供者 我一直在使用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
@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 typeIDENTITY
,自动创建此数据库结构
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "GEN_COMMENT")
@SequenceGenerator(name = "GEN_COMMENT", sequenceName = "SEQ_COMMENT")