Junior — Middle
¿Puede explicar qué es una consulta nombrada en Hibernate y cómo se aplica?
sobes.tech AI
Respuesta de la IA
La consulta nombrada en Hibernate es una consulta predefinida (HQL o SQL) a la que se le asigna un nombre único y que se puede reutilizar varias veces en el código. Esta consulta generalmente se declara en las anotaciones @NamedQuery o en la configuración XML.
Ventajas de las consultas nombradas:
- Reutilización de la misma consulta en diferentes lugares.
- Gestión centralizada de las consultas.
- Posibilidad de verificar la sintaxis de la consulta al cargar la aplicación.
Ejemplo de declaración de una consulta nombrada usando una anotación:
@Entity
@NamedQuery(
name = "User.findByEmail",
query = "FROM User u WHERE u.email = :email"
)
public class User {
@Id
private Long id;
private String email;
// getters y setters
}
Uso en el código:
Query query = session.createNamedQuery("User.findByEmail");
query.setParameter("email", "example@mail.com");
User user = (User) query.uniqueResult();