Junior — Middle
Pouvez-vous expliquer ce que l'on entend par l'utilisation de requêtes SQL natives dans l'annotation @Query en Hibernate?
sobes.tech IA
Réponse de l'IA
Dans Hibernate, l'annotation @Query permet d'écrire des requêtes pour récupérer des données. Par défaut, il s'agit de HQL (Hibernate Query Language), un langage de requête orienté objet. Cependant, si vous souhaitez utiliser une requête SQL native, vous pouvez spécifier le paramètre nativeQuery = true dans @Query.
Cela signifie que la requête sera exécutée directement en SQL, sans transformation par Hibernate. Cela est utile lorsque vous devez utiliser des fonctions spécifiques à la base de données ou des requêtes complexes difficiles à exprimer en HQL.
Exemple:
@Query(value = "SELECT * FROM users WHERE status = ?1", nativeQuery = true)
List<User> findUsersByStatusNative(String status);
Ici, users est le nom de la table dans la base de données, et non le nom de l'entité. La requête sera exécutée directement dans la base.