JPA找到仅给出子项唯一密钥的祖父母实体

时间:2018-02-12 19:12:00

标签: java mysql hibernate jpa

我正在使用JPA&的MySQL。

如果我有一堆相关的实体如下:

  • Grandparent_entity有很多Parent_entity(OneToMany)。坚持使用连接表。
  • Parent_entity有一个Child_entity(OneToOne)。父表中持有child_uuid。

如果我只获得子项唯一键,我该如何获得祖父母实体?

我的想法是一个带有3个连接的查询 - 子到父,父连接表,连接表到祖父母。这是最好的方式吗?

2 个答案:

答案 0 :(得分:0)

使用hql:

FROM grand_parent gp, parent p WHERE p.child.id = :id AND p in (gp.parents)

答案 1 :(得分:0)

这有效:

select g from Grandparent_entity g join fetch g.Parent_entity p join fetch p.Child_entity c WHERE (c.uniqueKey = :uniueKey)