Скажем, у меня есть такая сущность
class Parent {
@OneToMany(mappedBy = "par")
Set<Child> children
String stuff;
}
class Child {
@ManyToOne
@JoinColumn(name="par_id", nullable=false)
private Parent par;
String value;
}
Я хочу получить такой запрос:
Select DISTINCT par from Parent par LEFT JOIN par.children chi
WHERE
( par.stuff = :stuff or (:stuff is null))
AND ((chi is not empty) and chi.value = :value))
Но это возвращает мне родителей с пустыми детьми.
Мне нужно выбрать всех родителей, у которых есть набор непустых дочерних элементов, а также дочерних элементов, соответствующих значению = x