Requête de critères Hibernate : sélection de colonnes spécifiques
Dans la requête de critères Hibernate, le comportement par défaut consiste à récupérer toutes les colonnes de la table spécifiée. Cependant, il est possible d'exclure certaines colonnes des résultats de la requête pour des optimisations de performances.
Projections pour la sélection de colonnes
Pour exclure une colonne des résultats de la requête, les projections peuvent être utilisé. Les projections vous permettent de spécifier une liste de propriétés qui doivent être renvoyées. En répertoriant explicitement les propriétés souhaitées, les colonnes restantes seront exclues.
Exemple de requête de critères
Considérez la requête SQL suivante :
<code class="sql">SELECT user.id, user.name FROM user;</code>
Pour obtenir le même résultat en utilisant Hibernate Criteria Query, on peut utiliser le code suivant :
<code class="java">CriteriaBuilder cb = session.getCriteriaBuilder(); CriteriaQuery<Tuple> cq = cb.createTupleQuery(); Root<User> root = cq.from(User.class); cq.multiselect(root.get("id"), root.get("name"));</code>
Dans cet exemple, cb, cq et root sont des objets constructeur qui facilitent la construction de requêtes. La méthode multiselect() est utilisée pour spécifier les colonnes à renvoyer.
Gestion des projections en HQL
L'équivalent HQL de la requête de critères ci-dessus serait le suivant :
<code class="hql">SELECT id, name FROM User</code>
En utilisant des projections, il est possible d'optimiser les requêtes et de réduire la quantité de données récupérées de la base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!