HQL Join Fetch问题:别名关联

时间:2009-10-12 23:15:37

标签: hibernate

鉴于我有一个带有集合A的对象B,我希望A包含符合特定条件的所有B

"from A a left join fetch a.bs c where a.id = ? and c.id = ?"

以上肯定不会有效,所以在别名c之后必须再次获取,这样才能正确

"from A a left join fetch a.bs c join fetch c.id = ? where a.id = ?"

1 个答案:

答案 0 :(得分:2)

由于语法无效,第二个查询将无效。第一个会工作,但(我猜这里)不是你想要的方式。

我认为你想要选择一些As并且仅使用符合特定标准的B来填充他们的Bs集合?你不能。将为每个A实例提取所有自有B的集合(不考虑处理批量大小的技术含义)。这样做是为了防止Bs意外孤立,如果你选择用不完整的B集合来保存你的A。

如果我误解了,那不是你的意思,请澄清你的问题。