Maison > base de données > tutoriel mysql > Comment sélectionner des colonnes spécifiques dans les requêtes de critères Hibernate ?

Comment sélectionner des colonnes spécifiques dans les requêtes de critères Hibernate ?

Mary-Kate Olsen
Libérer: 2024-10-26 08:29:30
original
845 Les gens l'ont consulté

How Do I Select Specific Columns in Hibernate Criteria Queries?

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal