当前位置: 首页 > 知识库问答 >
问题:

JPA找到给定唯一子唯一密钥的祖父母实体

姚俊材
2023-03-14

我正在使用JPA

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

  • 祖父母实体有许多父实体(一个实体)。使用联接表持久化
  • 父实体有一个子实体(OneToOne)。在父表中使用child\u uuid持久化

如果我只获得了子唯一密钥,我如何获得祖父母实体?

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

共有2个答案

乐正迪
2023-03-14

这起到了作用:

select g from Grandparent_entity g join fetch g.Parent_entity p join fetch p.Child_entity c WHERE (c.uniqueKey = :uniueKey)
贲凌
2023-03-14

使用hql:

FROM grand_parent gp, parent p WHERE p.child.id = :id AND p in (gp.parents)
 类似资料:
  • 我正在使用: Spring3.2 Hibernate4.1.9 我需要用JPA映射三个类。A类和B类有很多种关系。A类和B类的唯一组合需要拥有C类的集合。 表A B表 表C 联接表--上的唯一键(fooId、barId) 改变现有的数据结构不是一种选择。 编辑1: 目标:加载一个Foo,获取它的条集合。从每个酒吧,得到它的(他们的!)收集数据。 甲级 B类 C类

  • 问题内容: 我有一个字段,例如,在表中应该是唯一的。 使用Spring / Hibernate验证进行验证的最佳方法是什么? 问题答案: 一种可能的解决方案是创建自定义约束(和相应的验证器)。并要查找数据库中的现有记录,请提供(或Hibernate)to 的实例。 EntityManagerAwareValidator ConstraintValidatorFactoryImpl 唯一键 Uniq

  • 问题内容: 我有一个字段,例如,在表中应该是唯一的。 使用Spring / Hibernate验证进行验证的最佳方法是什么? 问题答案: 一种可能的解决方案是创建自定义约束(和相应的验证器)。并在数据库中查找现有记录,请提供(或Hibernate )to 的实例。 EntityManagerAwareValidator ConstraintValidatorFactoryImpl 唯一键 Uniq

  • 问题内容: 以下问题与我之前问过的一个问题有关:帮助解析简单的JSON(将JSON用于JAVA ME) JSON密钥需要唯一吗?例如,我在解析以下XML(使用JSON ME)时遇到了麻烦: 并且,显然是因为密钥必须唯一。我只是想知道在所有情况下是否都是这样。例如,如果我使用的不是JSON ME,我是否可以解析所有这些名称? 谢谢。 问题答案: 如果你使用多个具有相同名称的密钥,则不会出现“错误”,

  • 问题内容: 我有两个表,和。有一个字段,它通过外键指向具有相同名称的字段。它还具有在该字段上声明的唯一密钥。不可为空。这意味着关系必须为0..1到1,因为每个 记录都必须具有唯一的而不是空的记录。 实体框架不这样看。我收到以下错误: 这是什么问题 如何使EF识别适当的关系多重性? 问题答案: EF抱怨是因为听起来您正在使用FK关联-这意味着VisualizationID是Entity的属性,并且也

  • 我正在使用Postgres,我有一个具有唯一键(memberId,propertyName)的表。我使用的是onDuplicateKey,生成的代码显示它使用的是on conflict,但它使用的是id。是否可以指定您自己的键来检查,或者Jooq是否尝试读取表并检查是否存在唯一约束?我目前的解决方法是先进行选择,然后进行更新或插入。