Stack Overflow em Português Asked by Faris Saleh Ahmad on January 30, 2021
Eu tenho uma entidade "Pedido" com uma lista de tarefas (outra entidade) e preciso usar a speciffication para filtrar a entidade pedido e a lista aninhada de tarefas.
Exemplo: Selecione * Pedido onde tarrefa.finalizada = "S"
Preciso retornar uma lista de pedidos e tarefas que foram realizadas.
Meu problema é a lista aninhada, a specffication filtra o apenas a entidade Pedido e não a lista de tarefas.
Code:
`
public static Specification<UsuarioProcesso> porFinalzada(Indicador finalizada){
return new JoinableSpecification<>() {
@Override
public Predicate toPredicate(Root<UsuarioProcesso> root, CriteriaQuery<?> cq, CriteriaBuilder cb) {
Path<Indicador> path = this.joinList(root, UsuarioProcesso_.tarefas, JoinType.INNER).get(UsuarioProcessoTarefa_.finalizada);
return cb.equal(path, finalizada);
}
};
}
`
Encontrei a solução.
Usar "root.fetch"
O fetch irá obrigar o JPA a realizar a consulta que busca as tarefas junto com a consulta que busca os pedidos, dessa forma as duas passariam pelo filtro
Answered by Faris Saleh Ahmad on January 30, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP