没有生成Hibernate序列

时间:2017-07-04 11:09:17

标签: java spring postgresql hibernate sequence

我正在使用Hibernate和PostgreSQL数据库处理Spring(而不是Boot!)项目。我也使用Flyway进行迁移。 我使用Flyway生成数据库的模式,并使用我的资源文件夹中的给定SQL脚本向其插入初始数据。出于这个原因,我从hibernate.properties文件中排除了hibernate.hbm2ddl.auto属性。 在启动时,会创建模式并将数据插入到数据库中,但我的问题是,这样Hibernate不会生成其序列,并且我无法从应用程序中保存数据:

org.postgresql.util.PSQLException: ERROR: relation "hibernate_sequence" does not exist

我该怎么办?

2 个答案:

答案 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;