hibernate - Hibernate:是否可以仅检索匹配条件的子项?
问题描述
我有以下一对多:
public class EntityA{
...
private List<EntityB> entities;
}
其中实体 b 具有:
public class EntityB{
...
private String type;
}
现在,我对 entityA 进行查询,例如:
@Query("select a from EntityA a where a.field= :field)
是否有可能拥有整个 A 实体,但只有“类型”等于特定实体的孩子?我试着做:
@Query("select a from EntityA a where a.field= :field and a.entities.type in ('A', 'B'))
但这会导致零结果,而我的意图是用空列表检索实体 A。
解决方案
如果关系是双向的,或者您可以使其成为双向的,那么您可以从EntityB
侧面查询它:
@Query("select b.entityA from EntityB b where b.type in ('A', 'B')")
public Set<EntityA> aEntities();
推荐阅读
- powerbi - 我们可以使用按钮更改power bi中的数据源吗?
- reactjs - TypeScript 中缺少属性
- wordpress - 带有 wpultimo 的 Wordpress 多站点,登录在未映射的子域上不起作用
- android - AnimatedNavHost“java.lang.ClassCastException:java.util.ArrayList 无法转换为 java.util.Set”(Jetpack Compose)
- python - 在 PySpark 数据框中选择某些行的内存有效替代方案
- transactions - 通过 google-analytics api 在调用中未定义任何指标时,不会返回交易 ID
- python - 对来自第一个进程的返回值设置条件
- firebase - 更换计算机后 FCM 通知不起作用
- swiftui - SwiftUI - 在 iOS 15 中使用 GroupedListStyle() 时填充不正确
- javascript - React - 如果将错误对话框放在 App.js 中并将错误存储在 redux 中,是否存在任何性能问题?