JPA多层关系

时间:2011-07-18 11:10:15

标签: database database-design jpa jpa-2.0

我有一个问题,我被卡住了:(。我必须建立一种关系的关系(奇怪!)。 例如,我有一个关系,其中一个实体A可以有许多B(OneToMany)

A ----> B

现在我需要另一种关系,其中实体C与A和B之间的复合关系具有OneToOne关系。喜欢,

C--> (A--->B)  , not C-->A-->B  

不是C与A有关系,A与B有关系,它应该像C - > D(A - > B)。

生成的连接表在JPA中没有任何主键,现在我在想如何映射这种关系。请注意,还需要正常的A - > B,因为它不能嵌入,而且应该是持久的。

感谢。

实施例: 位置和事件是我的两个实体,我想与之关联CleanPlan。意味着一个CleanPlan与location-1的event-1相关。所以我指定在事件-1中的location-1上有一个cleanplan。这有意义吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

我会说这个

enter image description here

或者这取决于事件位置基数。

enter image description here

答案 1 :(得分:1)

JPA中存在这个问题的两个方面。 1)绘制映射表。 2)创建映射行而不是映射表。

我认为第二种选择会让你的生活更轻松。但这只有在事件和位置具有单向关系时才有可能。然后在ManyToOne方面,输入“mappedBy”。这将在ManyToOne表上生成一个映射表。您可以在CleanPlan表上引用该列。