我想为我的 postgres 数据库使用自定义序列,但在将记录插入表时,它总是使用默认序列“hibernate_sequence”的 nextval。我在定义实体时使用下面的代码。
@Id
@SequenceGenerator(name = "address_generator", sequenceName =
"address_id_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
"address_generator")
private Long id;
以下是我在 application.properties 文件中定义的属性。
SQL 方言使 Hibernate 为所选数据库生成更好的 SQL
spring.jpa.properties.hibernate.dialect =
org.hibernate.dialect.PostgreSQLDialect
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.generate-ddl=true
Hibernate ddl auto(创建、创建删除、验证、更新)
spring.jpa.hibernate.ddl-auto = update
spring.jpa.show-sql=true
我也尝试过其他生成策略,如 GenerationType.IDENTITY,GenerationType.AUTO,问题是一样的。
我正在使用 Spring Boot 版本作为 2.1.3.RELEASE。