JPA:在实体层次结构中搜索关联实体

时间:2014-12-24 12:12:16

标签: java hibernate jpa reflection

我有一个PARENT实体,它与其他子表实体有1-M关联。 这些子实体可能还与其他表实体有关联。 在我的应用程序中,我们加载PARENT实体,随后的子实体也随之加载。
示例:

[PARENT]
 -X
 --X1
 --X2
 ---X2a
 -Y
 --Y1
 --Y1
 -Z
 --Z1

我陷入了一个实现,我必须搜索一个特定的子实体对象,它可能位于PARENT实体的层次结构中的任何位置;更新该子实体并保存Parent对象。

  

例如:父母> X2> X2a将被更新。

问题是我没有一定程度的层次结构来搜索。 我确实试图实现JPA Metamodel和反射api,但无法找到任何可以帮助我在加载的PARENT实体中搜索实体的东西。

有人可以指导我正确的方式吗?

1 个答案:

答案 0 :(得分:1)

实施完成。 我的目标是获取子实体引用,而不管它在父实体模型中的级别。

我直接加载了子实体,因为我分别在父母和子实体中维护了@OneToMany和@ ManyToOne / @ JoinColumn的关联;加载了整个实体模型,包括父实体。

我只需编写自己的逻辑来遍历实体,查找我使用@ ManyToOne / @ JoinColumn对实体的每个字段进行反射检查所获得的最多父实体。

考虑结束这个问题场景,以便其他人可以获得提示。

由于