在JPA中映射复合关系的正确方法是什么?

时间:2012-08-02 12:58:03

标签: jpa

我有一个名为Topic的类,它可能具有其他主题的先决条件。绘制这种关系的正确方法是什么。我应该这样做吗?

您在下面看到的模型是Play Framework Model类。

@Entity
public class Topic extends Model {
    @OneToMany
    public Set<Topic> prerequisites;
}

或者我应该使用另一个模型类来管理先决条件?

@Entity
public class TopicPrerequisites extends Model {
    @OneToOne
    public Topic theTopic;

    //or maybe this should be @ManyToMany ???
    @OneToMany
    public Set<Topic> prerequisites;
}

1 个答案:

答案 0 :(得分:0)

主题可以成为多个主题的先决条件吗?如果是这样,我会做以下事情:

@ManyToMany
private List<Topic> prerequisites;
@ManyToMany(mappedBy="prerequisites")
private List<Topic> topics;

在我看来,这个关系的额外实体是不必要的。