Jpql для сущностей без предметов в отношениях с множеством
Вопрос
Простой вопрос JPA/JPQL. У меня есть сущность с отношениями с множеством человек:
@Entity
public class Employee {
@ManyToMany
@JoinTablename="employee_project"
joinColumns={@JoinColumn(name="employee_id"}
inverseJoinColumns={@JoinColumn(name="project_id"})
private List<Project> projects;
Каков запрос JPQL, чтобы вернуть всех сотрудников, у которых нет никаких проектов?
Решение
from Employee e where not exists elements(e.projects)
или же
from Employee e where size(e.projects) = 0
Другие советы
Jqpl имеет посвященную IS [NOT] EMPTY
Оператор сравнения для проверки является коллекцией пустые:
SELECT e FROM Employee e WHERE e.projects IS EMPTY
Не связан с StackOverflow