我正在使用Hibernate和PostgreSQL数据库处理Spring(而不是Boot!)项目。我也使用Flyway进行迁移。 我使用Flyway生成数据库的模式,并使用我的资源文件夹中的给定SQL脚本向其插入初始数据。出于这个原因,我从hibernate.properties文件中排除了hibernate.hbm2ddl.auto属性。 在启动时,会创建模式并将数据插入到数据库中,但我的问题是,这样Hibernate不会生成其序列,并且我无法从应用程序中保存数据:
org.postgresql.util.PSQLException: ERROR: relation "hibernate_sequence" does not exist
我该怎么办?
答案 0 :(得分:1)
由于你没有提供任何不确定错误的代码,假设缺少@SequenceGenerator注释,我会提供一个适合我的代码。
@Entity
@Table(name = "your_table")
@SequenceGenerator(name = "your_table_id_seq", sequenceName = "your_table_id_seq", allocationSize = 1)
public class YourTable implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "your_table_id_seq")
private Long id;
。 。
答案 1 :(得分:0)
你需要创建一个这样的序列:
CREATE SEQUENCE hibernate_sequence START 1;