我想我有两个实体具有双向的@OneToMany
和@ManyToOne
关联:
家长
——有很多--
我想选择Parent
实体,其中所有关联的Child
实体都将x
设置为true
例如,如果我有以下数据:
起源:
+-------+
| ID |
+-------+
| 1 |
+-------+
| 2 |
+-------+
孩子:
+-------+-------+-------+
| ID | P.ID | x |
+-------+-------+-------+
| 1 | 1 | true |
+-------+-------+-------+
| 2 | 1 | true |
+-------+-------+-------+
| 3 | 2 | true |
+-------+-------+-------+
| 4 | 2 | false |
+-------+-------+-------+
我想要一个HQL或JPQL查询,它返回id
1的父
实体。
知道吗?
可以像这样使用jpql
查询
select p from Parent p where p.children is not empty and not exists(
select 1 from p.children c where c.x=false)
实体:
@Entity
public class Parent {
//...
@OneToMany
List<Child> children;
//...
}
您可以执行以下查询:
from parent p where p.ID in (select c.parent from child c where c.x=true) and p.ID not in (select c.parent from child c where c.x = false)
我在两个实体之间有双向或父/子关系: 我要选择没有的所有或的属性设置为的。 我使用的是。
我正在尝试为实体创建一个域模型(聚合),该实体包含子实体,并且可以有父实体。我们有实体包。我们可以把包裹分成更小的包裹(儿童)。每个分开的包都有一个父包。域的哪个部分应该包含域逻辑:聚合还是域服务?e、 g.聚合包有一个方法 分包还是原包?解决这个问题的正确方法是什么? 我希望我的域模型被ddd(应用程序和基础设施)的其他部分保持干净和幂等
我的类有两个子类:和。子类有一个单数PK,其上的映射起作用。问题是我不知道如何将它映射到ParentHobby类上,这个类有一个复合PK。 家长: @entity@table(name=“parent_hobby”)公共类ParentHobby{ ParentHobBypk: 我在编译时遇到的例外情况是: 当子实体具有复合主键时,如何在父实体中定义@OneTomany关系? 相似: @OneTom
问题内容: 我的班级有两个子班级: 和。Child类具有单个PK,并且其上的映射有效。问题是我不知道如何将其映射到具有复合PK的ParentHobby类。 上级: 儿童: 家长爱好: @Entity @Table(name =“ PARENT_HOBBY”)公共类ParentHobby { ParentHobbyPK: 我在编译时遇到的异常是: 当子有复合主键时,如何在父实体中定义@OneToMa
问题内容: 我有根实体及其单一关联。 当我获取实体时,我需要热切地获取,但是只有它的3个属性:userId,firstName,lastName。 现在,我的条件查询是: 接下来,我得到了sql语句,该语句仅选择投影列表中指定的3个属性。但是它不会选择根实体的任何属性。生成的查询是: 该查询不起作用,因为它返回了五个为空的。五个映射是因为有五行匹配where条件。我创建了简单的sql查询,它工作正
问题内容: 我有一张桌子,像这样: 我想选择具有相同基因座和染色体的所有行。例如,第3行和第4行。一次可能有2个以上,并且它们可能不是按顺序排列的。 我尝试了这个: 但是,即使重复,它总是返回第3行,从不返回第4行。我想我缺少明显而简单的东西,但我茫然。 有人可以帮忙吗? 问题答案: 您需要了解,当您在查询中包含内容时,您是在告诉SQL合并行。您将为每个唯一值获得一行。在随后过滤这些组。通常,您可