我正在尝试查找其中所述实体具有元素的嵌套集合(0..n),并且该嵌套集合中的对象中的属性用作查询过滤器的所有实体。
引用下面的类(A和IgnoredUser):
为我找到所有A,其中ignoredUsers为空或ignoredUsers不包含ignoredUser.userId
样本方法签名:+ getAllA(ignoreUserId:long):集合
这种查询的JPQL查询语法@Query(... some query string)是什么?
其他版本详细信息
休眠:5.2
弹簧靴:2.0.6
java:11
示例实体类
class A {
private Collection<IgnoredUser> ignoredUsers;
}
class IgnoredUser {
private String name;
private long userId;
}
样本数据集
对于以下实体A记录:
实体A a1没有忽略的用户(空集合)
实体A a2拥有2个被忽略的用户(userId 1和userId 2)
实体A a3具有1个ignoreUser(用户ID 1)
上述样本数据集的样本查询和预期结果
查询1:getAllA(1)应该只返回实体a1
查询2:getAllA(2)应该返回实体a1和a3
查询3:getAllA(3)应该返回所有实体a1,a2和a3