有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

具有多个条件的java HQL查询给出错误的结果

我有两个实体,一个是夫妻关系:

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匹配的子项。我在这里做错了什么


共 (1) 个答案

  1. # 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