Minhas cordiais saudações comunidade.
Preciso da ajuda de vcs para solucionar um problema.
Estou implementando o mesmo modelo de estrutura da apostila FJ28 da caelum na intenção de desenvolver um sistema para captar clientes. Usuário cadastra a empresa e registra os contatos que faz com ela.
Para isso tenho o relacionamento 1:N funcionando belezinha. Inserindo os dados.
Agora preciso que na lista agrupe os contatos por cliente.
public List<Contato> listaTudo(){
return this.session.createCriteria(Contato.class)
.setProjection( Projections.groupProperty("cliente").as("contatos") ) <!-- Se tiro essa linha a lista imprimi nas não agrupa -->
.addOrder(Order.desc("cliente.idCliente"))
.addOrder(Order.desc("status") )
.list();
}
Console imprimi i seguinte.
Poderiam me esclarecer como exatamente uso o .setProjection(Projeftins.groupProperty)
Hibernate:
select
this_.idCliente as y0_
from
contato this_
group by
this_.idCliente
order by
this_.idCliente desc,
this_.status desc
Hibernate:
select
cliente0_.idCliente as idCliente0_0_,
cliente0_.bairro as bairro0_0_,
cliente0_.cargo as cargo0_0_,
cliente0_.cidade as cidade0_0_,
cliente0_.cnpj as cnpj0_0_,
cliente0_.complemento as compleme6_0_0_,
cliente0_.dataCadastro as dataCada7_0_0_,
cliente0_.email as email0_0_,
cliente0_.empresa as empresa0_0_,
cliente0_.endereco as endereco0_0_,
cliente0_.estado as estado0_0_,
cliente0_.nome as nome0_0_,
cliente0_.numero as numero0_0_,
cliente0_.site as site0_0_,
cliente0_.telefone1 as telefone15_0_0_,
cliente0_.telefone2 as telefone16_0_0_
from
cliente cliente0_
where
cliente0_.idCliente=?
Hibernate:
select
cliente0_.idCliente as idCliente0_0_,
cliente0_.bairro as bairro0_0_,
cliente0_.cargo as cargo0_0_,
cliente0_.cidade as cidade0_0_,
cliente0_.cnpj as cnpj0_0_,
cliente0_.complemento as compleme6_0_0_,
cliente0_.dataCadastro as dataCada7_0_0_,
cliente0_.email as email0_0_,
cliente0_.empresa as empresa0_0_,
cliente0_.endereco as endereco0_0_,
cliente0_.estado as estado0_0_,
cliente0_.nome as nome0_0_,
cliente0_.numero as numero0_0_,
cliente0_.site as site0_0_,
cliente0_.telefone1 as telefone15_0_0_,
cliente0_.telefone2 as telefone16_0_0_
from
cliente cliente0_
where
cliente0_.idCliente=?
Hibernate:
select
cliente0_.idCliente as idCliente0_0_,
cliente0_.bairro as bairro0_0_,
cliente0_.cargo as cargo0_0_,
cliente0_.cidade as cidade0_0_,
cliente0_.cnpj as cnpj0_0_,
cliente0_.complemento as compleme6_0_0_,
cliente0_.dataCadastro as dataCada7_0_0_,
cliente0_.email as email0_0_,
cliente0_.empresa as empresa0_0_,
cliente0_.endereco as endereco0_0_,
cliente0_.estado as estado0_0_,
cliente0_.nome as nome0_0_,
cliente0_.numero as numero0_0_,
cliente0_.site as site0_0_,
cliente0_.telefone1 as telefone15_0_0_,
cliente0_.telefone2 as telefone16_0_0_
from
cliente cliente0_
where
cliente0_.idCliente=?
Hibernate:
select
cliente0_.idCliente as idCliente0_0_,
cliente0_.bairro as bairro0_0_,
cliente0_.cargo as cargo0_0_,
cliente0_.cidade as cidade0_0_,
cliente0_.cnpj as cnpj0_0_,
cliente0_.complemento as compleme6_0_0_,
cliente0_.dataCadastro as dataCada7_0_0_,
cliente0_.email as email0_0_,
cliente0_.empresa as empresa0_0_,
cliente0_.endereco as endereco0_0_,
cliente0_.estado as estado0_0_,
cliente0_.nome as nome0_0_,
cliente0_.numero as numero0_0_,
cliente0_.site as site0_0_,
cliente0_.telefone1 as telefone15_0_0_,
cliente0_.telefone2 as telefone16_0_0_
from
cliente cliente0_
where
cliente0_.idCliente=?
Mai 07, 2013 12:50:36 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
javax.el.PropertyNotFoundException: Property 'cliente' not found on type br.com.caelum.captarclientes.modelo.Cliente