Você está aqui: JPA - Java Persistence Architecture API - Arquitetura de Persistência Java ::: Dicas & Truques ::: Anotações JPA (JPA Annotations) |
Usando a anotação @NamedQueries para agrupar as queries nomeadas em suas entidades JPAQuantidade de visualizações: 3477 vezes |
|
As queries nomeadas, em geral, são colocadas antes da declaração da classe de uma entidade por meio da anotação @NamedQuery. Há casos em que gostaríamos de definir mais de uma query nomeada por entidade. Nestes casos, estas queries devem ser agrupadas usando-se a anotação @NamedQueries. Veja um exemplo de como isso é feito na seguinte entidade Cliente:
package entidades;
import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;
@Entity
@Table(name="clientes")
@NamedQueries({
@NamedQuery(name="Cliente.encontrarClientesNomeParcial", query="SELECT c FROM " +
"Cliente c WHERE c.nome LIKE :nomeCliente"),
@NamedQuery(name="Cliente.encontrarClienteEmail", query="SELECT c FROM " +
"Cliente c WHERE c.email = :emailCliente")
})
public class Cliente implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
private String nome;
private String email;
@Temporal(TemporalType.TIMESTAMP)
@Column(name="data_cadastro")
private Date dataCadastro;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Date getDataCadastro() {
return dataCadastro;
}
public void setDataCadastro(Date dataCadastro) {
this.dataCadastro = dataCadastro;
}
}
Não há limite na quantidade de anotações @NamedQuery que podem ser agrupados na anotação @NamedQueries. É claro que temos que ter o cuidado de não criar queries nomeadas em demasia. Além do risco de conflito, a manutenção do código da entidade poderá ser prejudicada. |
|
|
Veja mais Dicas e truques de JPA - Java Persistence Architecture API - Arquitetura de Persistência Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




