2
respostas

Projections com JPA Criteria

Supondo que tenhamos duas classes: Pedido e Produto.

Produto{
Long id,
String nome,
String modelo
}

Pedido{
Long id,
Steing descricao,
Set<Produto> produtos
}

Onde para cada pedido exista N produtos.

Como eu monto uma criteria que me retorne um DTO com apenas a descrição do pedido euma lista com apenas os nomes dos produtos?

2 respostas
CriteriaBuilder cb...
CriteriaQuery<DescricaoNome> q = cb.createQuery(DescricaoNome.class);
  Root<Pedido> c = q.from(Pedido.class);
  q.select(cb.construct(DescricaoNome.class,
      c.get("descricao")...));

O problema é que eu não consigo retornar um objeto DescricaoNome desta maneira:

DescricaoNome{
    String descricao,
    Set<String> produto
}

Consigo ?