具有多个自我关系的Hibernate实体(递归关系)

时间:2016-05-24 15:43:45

标签: database hibernate entity-relationship-model

我有一个名为Article的Hibernate实体,从数据库的角度来看,我想将下一章的id和前一章的id存储在同一个表中,所以表中有两个一对一的关系本身,nextArticleIdpreviousArticleId是来自同一个表的外键。

我的问题是,在为此创建Hibernate实体时是否有提议的方法来处理情况?或者我只是将其视为两个正常的一对一关系,并且在Article实体中只有两个不同的Article对象来表示下一篇文章和上一篇文章?

此致

2 个答案:

答案 0 :(得分:1)

问题

  

在为此创建Hibernate实体时,是否有提议的方法来处理这种情况?

<强>答案

  

将此视为两个正常的一对一关系,并在文章

中只有两个不同的文章对象

答案 1 :(得分:1)

这种映射是一种正常的方法

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;

}