2012-08-02 86 views
0

我有一個名爲Topic的類,它可能具有其他主題的先決條件。映射這種關係的正確方法是什麼?我應該做這樣的事嗎?在JPA中映射覆合關係的正確方法是什麼?

您在下面看到的模型是一個Play框架模型類。

@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; 
} 

回答

0

一個主題能否成爲多個主題的先決條件?如果是這樣,我會做以下事情:

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

在我的觀點中,關係的額外實體是不必要的。

+0

這非常有趣。我沒有意識到我可以擁有與擁有和擁有的一方相同的實體。謝謝。 – Parag 2012-08-03 05:03:02