JPQL para entidades sem itens no relacionamento de muita tomana
Pergunta
Pergunta simples JPA/JPQL. Eu tenho uma entidade com um relacionamento de muita tomana:
@Entity
public class Employee {
@ManyToMany
@JoinTablename="employee_project"
joinColumns={@JoinColumn(name="employee_id"}
inverseJoinColumns={@JoinColumn(name="project_id"})
private List<Project> projects;
Qual é a consulta JPQL para devolver todos os funcionários que não possuem nenhum projeto?
Solução
from Employee e where not exists elements(e.projects)
ou
from Employee e where size(e.projects) = 0
Outras dicas
JQPL tem dedicado IS [NOT] EMPTY
O operador de comparação para verificação é a coleção vazia:
SELECT e FROM Employee e WHERE e.projects IS EMPTY
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow