我正在努力应对以下场景:让我们假设我有两个实体Classroom
和Member
,用多对多映射。 “课堂”具有集合Members
,其中包含实体Member
。
我想让教室里有一定数量的成员。这将导致类似:
FROM Classroom cr WHERE cr.Members.size < 10
现在我在课堂上有一个Type
。我想首先在Type上过滤,然后在尺寸上过滤。这不起作用:
FROM Classroom cr WHERE cr.Members.size < 10 AND cr.Members.Type = 1
结果:illegal attempt to dereference collection
我怎么能写这样的查询?
答案 0 :(得分:1)
我想你需要做一个加入
from Classroom as cr left join cr.Members as m
where cr.Members.size < 10 and m.Type = 1