@dymitrios escreveu:
Bom dia prezados,
Estou iniciando um projeto com JPA2, JSF e PRIMEFACES.
Porém como ainda sou inexperiente nessa metodologia que o JPA proporciona. Estou apanhando bastante.
Bom vamos lá ao problema.
Tenho três classes de entidade do banco de dados.
Reccartao, Acecartao, Vdacar.
Relacionamentos: Reccartao OneToMany Vdacar; Reccartao OneToMany Acecartao.Fiz a seguinte consulta e retorna corretamente a Reccartao com seus dois relacionamentos.
protected EntityManager manager;
public Collection listar() {CriteriaBuilder builder = manager.getCriteriaBuilder(); CriteriaQuery<Reccartao> criteria = builder.createQuery(Reccartao.class); Predicate predicate = builder.and(); Root<Reccartao> from = criteria.from(Reccartao.class); predicate = builder.gt(from.get("reccartaoPK").get("idrec"), 7528); TypedQuery<Reccartao> typedQuery = manager.createQuery( criteria.select(from).where(predicate) ); return typedQuery.getResultList(); }
Porém quando vou popular ela no datatable só me aparece pra puxar a lista dos relacionamentos. Não estou conseguindo puxar os atributos.
Eu quero fazer ele retornar no datatable a seguinte consulta:
("select *
from
reccartao
left join acecartao
on acecartao.empresa=reccartao.empresa
and acecartao.idrec = reccartao.idrec
and acecartao.cartao=reccartao.cartao
left join vdacar
on vdacar.empresa=reccartao.empresa
and vdacar.idrec = reccartao.idrec
and vdacar.cartao=reccartao.cartao")Tenho que mudar os relacionamentos das entidades? Porém vai ficar diferente do que é realmente o relacionamento na arquitetura da tabela.
Como tratar isso?
Mensagens: 1
Participantes: 1