我在想我理解这些关系。但现在......我不确定。我有一个问题是添加正确的注释。
我有会员和关系课程。
关系
private GT_Member Mother;
private GT_Member Father;
private List<GT_Member> children;
一个成员可以作为母亲或父亲参与几个关系(参考他的性别),但他可能只是作为一个孩子的一个关系。
我认为将母亲和父亲注释为@OneToMany。
但我不确定我是否可以将List注释为@OneToOne ??
答案 0 :(得分:1)
在为数据库模式建模正确的实体关系模型和可视化ORM(对象关系模型)时,这似乎是一个问题。
请先查看系统中的主要数据实体,而不是从成员和关系类开始。他们将如何相互联系。 我个人认为Relation不是一个好的JPA实体。 会员看起来更像是一个好的实体,可以体现这种关系 假设一个父亲和一个母亲,一对多似乎是错的,但作为父亲或母亲可以有很多孩子,正确的注释应该是@ManyToOne。
孩子肯定是OneToMany,是的,您可以将List子项注释为@OneToMany。
会员可以拥有以下属性:
@Entity
public class Member implements Serializable{
@ManyToOne
private Member mother;
@ManyToOne
private Member father;
@OnetoMany
private List<Member> children;
}
这解决了两个用例,在这个简单的示例中,不需要Relation类。 希望这有帮助。
答案 1 :(得分:0)
关系实体的使用是因为我想保存关系状态的信息。 Donc我将存储有关所有已婚人士等的信息。实体关系还有其他领域,如类型(中立,已婚,未婚夫等......)。