我有两个实体,与OneToMany关系:
class Parent {
int parentId;
Set<Children> children;
}
class Child {
int childId;
}
以及以下HQL查询:
"SELECT p.children FROM Parent p left join p.children as c WHERE p.id=:pid AND c.id:=cid"
返回给我父亲的所有孩子给定id,而我期望只有一个id匹配给定孩子id的孩子。我在这里做错了什么?
答案 0 :(得分:1)
您需要使用内部联接而不是左联接。
尝试以下任一方法,不确定确切的语法。
SELECT p.children FROM Parent p inner join p.children as c WHERE p.id=:pid AND c.id:=cid
或
SELECT p.children FROM Parent p, p.children as c WHERE p.id=:pid AND c.id:=cid