Sobes.tech
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();