Junior — Middle
¿Puede explicar qué se entiende por el uso de consultas SQL nativas en la anotación @Query en Hibernate?
sobes.tech AI
Respuesta de la IA
En Hibernate, la anotación @Query permite escribir consultas para obtener datos. Por defecto, es HQL (Hibernate Query Language), un lenguaje de consultas orientado a objetos. Sin embargo, si necesitas usar una consulta SQL nativa, puedes especificar el parámetro nativeQuery = true en @Query.
Esto significa que la consulta se ejecutará directamente como SQL, sin transformación por Hibernate. Es útil cuando necesitas usar funciones específicas de la base de datos o consultas complejas que son difíciles de expresar en HQL.
Ejemplo:
@Query(value = "SELECT * FROM users WHERE status = ?1", nativeQuery = true)
List<User> findUsersByStatusNative(String status);
Aquí, users es el nombre de la tabla en la base de datos, no el nombre de la entidad. Esta consulta se ejecutará directamente en la base.