Ajuda com hibernate

3 respostas
D

ola bom dia
tenhu esse metodo com esse select, eu quero q ele retorne um objeto do tipo Promotor, mas esta dando erro no “return query.Promotor” alguem sabe me dizer como seria esse retorno?

public Promotor searchPromotorForUsuario(Promotor promotor) { String hql = "From Promotor p where p.nome like :nome and p.usuario like :usuario"; Query query = this.session.createQuery(hql); query.setString("usuario", promotor.getUsuario()); query.setString("nome", promotor.getNome()); return query.Promotor; }

3 Respostas

L

Faz assim:

return (Promotor) query.uniqueResult();

E outra, se o promotor.getUsuario() não retornar uma String(me parece um relacionamento) vai ter problema no HQL. Se for um relacionamento, use o ‘=’ e Faça o JOIN:

String hql = "SELECT p FROM Promotor AS p JOIN p.usuario AS u WHERE p.nome LIKE :nome AND u.id = :idUsuario"; Query query = this.session.createQuery(hql); query.setString("idUsuario", promotor.getUsuario().getId()); query.setString("nome", promotor.getNome());

Ev3rton

Olá,

Se usuário é uma classe mapeada, acho que você poderia manter sua query assim:

String hql = "SELECT p FROM Promotor p WHERE p.nome LIKE :nome AND p.usuario = :usuario";
Query q = session.createQuery(hql);
q.setString("nome", promotor.getNome());
q.setParameter("usuario", promotor.getUsuario());

[ ]'s

D

obrigado… o usuario é so uma string msm . valeu

Criado 28 de novembro de 2011
Ultima resposta 28 de nov. de 2011
Respostas 3
Participantes 3