【发布时间】:2018-10-18 15:31:48
【问题描述】:
我正在为 MySQL 数据库查询而苦苦挣扎,希望您能帮助我。 这个例子是抽象的,因为问题是查询:
POJO:
class Parent
{
List<Child> children;
}
class Child
{
Integer id;
}
现在我想找到所有没有特定孩子的父母。
喜欢:
List<Parent> findByChildrenNotIn(List<Child> childs);
或
@Query("SELECT p FROM Parent p "
+ "LEFT OUTER JOIN p.children c "
+ "WHERE c.id != ?1 "
+ "GROUP BY p.id "
)
List<Parent> findByNotChildren(List<Integer> childIds);
至少可以通过以下方式过滤 Child like:
List<Parent> findByChildrenNot(Child child);
或类似的东西。
这似乎很容易,但我没有找到解决方案。希望你能帮助我。
提前致谢!
亲切的问候
格雷戈
【问题讨论】:
-
JPQL 中没有
!=。它是<>,你不能在列表上做(不)平等!
标签: hibernate spring-boot jpa spring-data-jpa jpql