在 JPA 中对同一实体的一系列元素进行建模(一对一关系)
Modelling a series of elements of the same entity in JPA (one-to-one relation)
我为一本书创建了一个entity/table,我想实现每个元素都可以引用另一本书来创建一个系列。
我想到了这个:
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer bookId;
@Lob
private String text;
@OneToOne
@JoinColumn(name = "book_id")
private Book previousPart;
}
但是,属性 previousPart
在我的数据库中没有被视为一个列,而其他的是。我是否必须使用不同的注释,或者这是对这样的关系建模的错误方法?或者我是否必须直接使用类型 Integer
而不是 Book
(我认为这是框架内部所做的)?
试试这个方法:
@OneToOne
@JoinColumn
private Book previousPart;
在您的代码中,您将 book_id
字段定义为连接列,这是一个已经存在的列(id 本身),因此实际上您将所有条目链接到它们自己。
我为一本书创建了一个entity/table,我想实现每个元素都可以引用另一本书来创建一个系列。
我想到了这个:
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer bookId;
@Lob
private String text;
@OneToOne
@JoinColumn(name = "book_id")
private Book previousPart;
}
但是,属性 previousPart
在我的数据库中没有被视为一个列,而其他的是。我是否必须使用不同的注释,或者这是对这样的关系建模的错误方法?或者我是否必须直接使用类型 Integer
而不是 Book
(我认为这是框架内部所做的)?
试试这个方法:
@OneToOne
@JoinColumn
private Book previousPart;
在您的代码中,您将 book_id
字段定义为连接列,这是一个已经存在的列(id 本身),因此实际上您将所有条目链接到它们自己。