2012-04-25 1 views
0

次のシナリオでは苦労しています。多対多でマップされた2つのエンティティClassroomMemberがあるとしましょう。 Classroomには、Memberエンティティを含むコレクションMembersがあります。 私は一定数のメンバーを持つ教室を手に入れたいと思います。今、私は教室にTypeを持ってHQLを使用した2番目のフィルタを含むコレクションからの特定のサイズ?

FROM Classroom cr WHERE cr.Members.size < 10

:それはのようなものになるでしょう。私は最初にタイプ、次にサイズをフィルターに掛けたいと思います。これは動作しません:私は、このようなクエリを書くことができますどのようにillegal attempt to dereference collection

FROM Classroom cr WHERE cr.Members.size < 10 AND cr.Members.Type = 1

での結果?

答えて

1

私はあなたが参加

from Classroom as cr left join cr.Members as m 
where cr.Members.size < 10 and m.Type = 1 
+0

を行う必要があります想像私も参加してしまった - 残念ながら、私はDistinctRootEntityResultTransformer' 'の使用にもかかわらず、結果に複数の教室でのトラブルを持っています。クエリ全体が上の例よりもはるかに複雑です(推測したように動作します)ので、私は依然としてポストプロセスのフィルタリングに捕らえられており、怠惰な負荷とパフォーマンスの問題が発生します。 – sl3dg3

関連する問題