我有一个名为的 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;
}