我在做一个springboot项目。我拥有以下实体:
@Entity
@Table(name = "authors")
public class Author {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "author_seq")
@SequenceGenerator(name = "author_seq",
sequenceName = "authors_authorid_seq", schema = "public")
private int authorid;
private String name;
private String surname;
public Author() {
}
public int getAuthorid() {
return authorid;
}
public void setAuthorid(int authorid) {
this.authorid = authorid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
}
数据库中有以下序列:
authors_authorid_seq bookborrow_id_seq
books_bookid_seq users_userid_seq
我得到以下错误: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing sequence [public.authors_authorid_seq]
你能帮我解释一下我做错了什么吗?我的hibernate版本是5.4.25。谢谢
1条答案
按热度按时间vyswwuz21#
我通过在init\u db.sql脚本中手动创建序列解决了这个问题。
在导致错误的上一个版本中,我创建了导致错误的主键,如下所示:
这会自动创建一个序列,但是pgadmin4和hibernate库无法检测到它。
现在我创建的主键列如下所示:
这样hibernate就可以检测序列。