Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JPA中映射复合关系的正确方法是什么?_Jpa - Fatal编程技术网

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

在JPA中映射复合关系的正确方法是什么?,jpa,Jpa,我有一个名为Topic的类,它可能有其他主题的先决条件。绘制这种关系的正确方法是什么。我应该这样做吗 下面看到的模型是一个Play框架模型类 @Entity public class Topic extends Model { @OneToMany public Set<Topic> prerequisites; } @实体 公共类主题扩展模型{ @独身癖 公开设定先决条件; } 或者我应该使用另一个模型类来管理先决条件关系 @Entity public clas

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

下面看到的模型是一个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;
}
@实体
公共类主题模型{
@奥内托内
公共话题;
//或者这应该是“很多人”???
@独身癖
公开设定先决条件;
}

一个主题可以是多个主题的先决条件吗?如果是这样,我会做以下工作:

@ManyToMany
private List<Topic> prerequisites;
@ManyToMany(mappedBy="prerequisites")
private List<Topic> topics;
@manytomy
私人名单先决条件;
@许多(mappedBy=“先决条件”)
私人列表主题;

在我看来,这种关系不需要额外的实体。

这很有趣。我没有意识到我可以拥有和拥有方相同的实体。谢谢