Skip to content

Instantly share code, notes, and snippets.

@nosrednawall
Created March 12, 2019 16:30
Show Gist options
  • Select an option

  • Save nosrednawall/43ac4ddf3e85daccb7d02411783397f1 to your computer and use it in GitHub Desktop.

Select an option

Save nosrednawall/43ac4ddf3e85daccb7d02411783397f1 to your computer and use it in GitHub Desktop.
como utilizar named querys java
@NamedQueries({
@NamedQuery(name = "Usuario.listarTodos", query = "SELECT DISTINCT u FROM Usuario u LEFT JOIN FETCH u.candidaturas WHERE u.status = :pStatus"),
@NamedQuery(name = "Usuario.listarTodosSemStatus", query = "SELECT DISTINCT u FROM Usuario u LEFT JOIN FETCH u.candidaturas"),
@NamedQuery(name = "Usuario.find", query = "SELECT DISTINCT u FROM Usuario u LEFT JOIN FETCH u.candidaturas WHERE u.id = :pId"),
@NamedQuery(name = "Usuario.loga", query = "SELECT DISTINCT u FROM Usuario u LEFT JOIN FETCH u.candidaturas WHERE u.email = :pEmail AND u.senha = :pSenha") })
@XmlRootElement
@Entity
@Table(name = "usuario")
public class Usuario implements Serializable {
/**
continua o resto da classe
**/
}
/**
na classe dao
**/
public List<Usuario> listaTodos(StatusBinarioEnum status) {
if(status.equals(StatusBinarioEnum.AMBOS)) {
TypedQuery<Usuario> query = getEntityManager().createNamedQuery("Usuario.listarTodosSemStatus", Usuario.class);
return query.getResultList();
}
TypedQuery<Usuario> query = getEntityManager().createNamedQuery("Usuario.listarTodos", Usuario.class);
query.setParameter("pStatus", status);
return query.getResultList();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment