Junior — Middle
Pode explicar o que é uma consulta nomeada no Hibernate e como ela é aplicada?
sobes.tech IA
Resposta da IA
A consulta nomeada no Hibernate é uma consulta predefinida (HQL ou SQL) à qual é atribuído um nome único e que pode ser reutilizada várias vezes no código. Essa consulta geralmente é declarada nas anotações @NamedQuery ou na configuração XML.
Vantagens das consultas nomeadas:
- Reutilização da mesma consulta em diferentes locais.
- Gestão centralizada das consultas.
- Possibilidade de verificar a sintaxe da consulta ao carregar a aplicação.
Exemplo de declaração de uma consulta nomeada usando uma anotação:
@Entity
@NamedQuery(
name = "User.findByEmail",
query = "FROM User u WHERE u.email = :email"
)
public class User {
@Id
private Long id;
private String email;
// getters e setters
}
Uso no código:
Query query = session.createNamedQuery("User.findByEmail");
query.setParameter("email", "example@mail.com");
User user = (User) query.uniqueResult();