我有一个名为的 Hibernate 实体Article
,从数据库的角度来看,我想将下一章 id 和上一章 id 存储在同一个表中,因此该表与其自身存在两个一对一的关系,nextArticleId
并且previousArticleId
是来自同一张桌子。
我的问题是,在为此创建 Hibernate 实体时是否有建议的方法来处理这种情况?或者我只是将其视为两个正常的一对一关系,并且Article
在实体中只有两个不同的对象Article
来表示下一篇文章和上一篇文章?
问候,
我有一个名为的 Hibernate 实体Article
,从数据库的角度来看,我想将下一章 id 和上一章 id 存储在同一个表中,因此该表与其自身存在两个一对一的关系,nextArticleId
并且previousArticleId
是来自同一张桌子。
我的问题是,在为此创建 Hibernate 实体时是否有建议的方法来处理这种情况?或者我只是将其视为两个正常的一对一关系,并且Article
在实体中只有两个不同的对象Article
来表示下一篇文章和上一篇文章?
问候,
问题:
在为此创建 Hibernate 实体时,是否有建议的方法来处理这种情况?
答案:
将此视为两个正常的一对一关系,并且在文章中只有两个不同的文章对象
进行这种映射是一种正常的方式
class Article {
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "fk_article_prev")
private Article previouse;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "fk_article_next")
private Article next;
}