我有以下hql:
Select q FROM GeneralQuestion q
Left Join q.QuestionResponses as qr with qr.ContactUid = :contactuid
WHERE q.ParentUid = :audituid
显然,GeneralQuestion包含QuestionResponse对象的集合。我使用了with关键字,我认为这会限制QuestionResponse对象只返回那些具有该特定contactuid的QuestionRespone对象。
问题是每个GeneralQuestion stil包含所有QuestionResponses。
有没有办法限制返回的QuestionResponse对象只是那个contactuid?
我认为这是关键所在,我现在很困惑。
答案 0 :(得分:0)
如果查看执行的SQL,它可能在查询时只检索过滤后的记录,然后在使用时懒洋洋地重新加载它。
这是有道理的,因为NH必须跟踪他们的状态。
您需要做的是直接在您的选择列表中检索QuestionResponse实例,这将是您的“过滤集合”