[RESOLVIDO]Selecionar apenas um campo de uma coluna!

6 respostas
J

Tenho o seguinte método no Hibernate

public String buscarEmailTecnico(String login){
		Session session = HibernateUtil.getSession();
		Criterion filtro = Restrictions.eq("email", login);
		Criteria criteria = session.createCriteria(Usuario.class);
		criteria.add(filtro);
		List<Usuario> sl = criteria.list();
		return sl;
		
	}

Consegui uma lista com os dados daquele login que passei para o método. Porém eu quero apenas o email que se refere aquele login, e não todos os dados.

Alguém pode me ajudar?

6 Respostas

R

Não é assim que funciona. O hibernate vai te retornar um objeto e não uma coluna da tabela.

O que você pode fazer é mudar sua consulta para retornar apenas um objeto e não uma lista. Depois então usa o método get para recuperar a informação do atributo que deseja dentro desse objeto.

public String buscarEmailTecnico(String login){
		Session session = HibernateUtil.getSession();
		Usuario usuario = session.createCriteria(Usuario.class).add(Restrictions.eq("email", login)).uniqueResult();
		return usuario.getEmail();
	}
L

Ou usar HQL para retornar apenas a coluna desejada.

J

Ocorre o erro quando tento atribuir o resultado no objeto.
“Type mismatch: cannot convert from Object to Usuario”

R

Tenta fazer um cast Usuario usuario = (Usuario) session.createCriteria...

J

Ok. Funcionou. Obg! :slight_smile:

R

:thumbup:

Criado 19 de outubro de 2011
Ultima resposta 20 de out. de 2011
Respostas 6
Participantes 3