我对这个命名约定感到有点困惑。 它们之间有什么区别,目标/来源可以与拥有/不拥有互换?
有一件事特别难以理解:
“JPA中OneToOne和ManyToOne关系之间的主要区别在于ManyToOne始终包含从源对象表到目标对象表的外键,其中 OneToOne关系是外键可以在源对象的表中,也可以在目标对象的表中“
JPA wikibooks
我无法想象一对一的这种情况
答案 0 :(得分:0)
它们之间的差异有点令人困惑。你应该练习很多东西才能理解。
首先,您应该了解一些术语:
角色:在每个关系中,有两个实体彼此相关,并且每个实体都被认为在关系中发挥作用。
方向:关系可以是单向的,也可以是双向的。例如,一个人的地址通常是单向的,而在一个项目上工作的员工通常是双向的。我们将在提出数据模型时研究如何识别和定义方向性。
为了建立关系,必须有一种方法来创建,删除和维护它们。这样做的基本方式是具有关系属性的实体,该关系属性以将其标识为扮演关系的其他角色的方式引用其相关实体。通常情况下,另一个实体又具有指向原始实体的属性。当每个实体指向另一个实体时,该关系是双向的。如果只有一个实体具有指向另一个的实体,则称该关系是单向的。从员工到他们工作的项目的关系将是双向的。员工应该知道其项目,项目应该指向正在处理它的员工。此处显示了此关系的UML模型。两个方向上的箭头表示关系的双向性(形成本书>> Pro JPA 2)
然后深入了解link
我只想评论链接,但我需要50个声誉