postgresql “一对多”属性值类型不应为“Book”

ru9i0ody  于 2024-01-07  发布在  PostgreSQL
关注(0)|答案(1)|浏览(143)

我有一个用@Entity注解的类Book,

@ManyToOne
    private BookStore bookStore;

字符串
我也有一个类BookStore与此代码

@OneToMany(mappedBy = "bookStore",fetch = FetchType.EAGER)
    private List<Book> books;


但是我在BookStore类中得到一个错误,它指出:“一对多”属性值类型不应该是“Book”。我该如何修复这个错误?
我尝试添加mappedBy =“bookStore”,这两个类都用@Data和@Entity注解。

bmvo0sr5

bmvo0sr51#

您需要在Book实体中提供BookStore实体的@JoinColumn,以指定两个实体之间关系中外键列的Map,如下所示。

@ManyToOne
@JoinColumn(name = "bookstore_id",referencedColumnName = "id")
private BookStore bookStore;

字符串
在@JoinColumnn注解的帮助下,Hibernate会在数据库中生成外键约束,建立Book和BookStore实体之间的关系。

相关问题