Busca com JPA

Oi pessoal estou com uma duvida que não me sai da cabeça. Como realizar uma busca em JPA passando por exemplo um e-mail e obter o resto das informações do usuário?

Pode usar um objeto Query

Query query = getEm().createQuery("SELECT br.com.model.NomeDoObjeto where email=?");
query.setParameter(1, "p.fariapablo@gmail.com");

//quando for apenas um objeto 
ObjetoASerRecuperado objeto = (ObjetoASerRecuperado) query.getSingleResult();

//quando for uma lista de objetos
List objetos = query.getResultList();

Ahh com query legal. O pior é que tento dessa forma mas nunca consigo sucesso.

:’(

public Usuario buscarUsuario(String email) { EntityTransaction transaction = manager.getTransaction(); Usuario retorno = null; try { transaction.begin(); Query query = manager.createQuery("SELECT u FROM Usuario u WHERE u.email = :email"); query.setParameter("email", email); retorno = (Usuario) query.getSingleResult(); } catch (Exception e) { transaction.rollback(); System.err.println("Erro: " + e.getMessage()); } finally { manager.close(); } return retorno; }

Quando retorna vem só o e-mail.

:frowning:

tenta colocar no select somente o FROM mais o nome completo da classe e depois a cláusula

ex.:

Query query = manager.createQuery("FROM pacotes.maispacotes.Usuario WHERE email = :email");   

Outra coisa, o EntityTransaction não cria queries e sim o EntityManager

É percebi que está vindo todo mundo mesmo. Mas na hora de exibir nao exibe todo mundo. O erro não é no JPA.

:frowning: