Maison > base de données > tutoriel mysql > le corps du texte

Comment puis-je exclure des colonnes d'une requête de critères Hibernate ?

Mary-Kate Olsen
Libérer: 2024-10-28 04:42:30
original
141 Les gens l'ont consulté

How Can I Exclude Columns from a Hibernate Criteria Query?

Requête de critères Hibernate pour sélectionner des colonnes spécifiques

Dans Hibernate, la requête de critères récupère par défaut toutes les colonnes de la base de données. Toutefois, dans certains cas, vous souhaiterez peut-être exclure certaines colonnes pour améliorer les performances ou répondre à des exigences spécifiques.

Utiliser des projections pour exclure des colonnes

Pour exclure des colonnes spécifiques d'un Requête de critères, vous pouvez utiliser la méthode Projections.projectionList(). Cette méthode vous permet de spécifier uniquement les colonnes souhaitées dans la projection.

Exemple :

Supposons que vous ayez une requête qui récupère toutes les colonnes d'une table "Utilisateur". Pour exclure la colonne "âge" de la requête, vous pouvez utiliser le code suivant :

<code class="java">Criteria cr = session.createCriteria(User.class)
    .setProjection(Projections.projectionList()
      .add(Projections.property("id"), "id")
      .add(Projections.property("name"), "name"))
    .setResultTransformer(Transformers.aliasToBean(User.class));</code>
Copier après la connexion

Gestion des erreurs de requête

Lors de l'utilisation de projections, vous pouvez rencontrer des erreurs si vous faites référence aux colonnes exclues dans la clause Where ou dans d'autres parties de la requête. Pour résoudre ce problème, vous pouvez spécifier explicitement les alias attribués aux colonnes projetées.

Exemple :

<code class="java">Criteria cr = session.createCriteria(User.class)
    .setProjection(Projections.projectionList()
      .add(Projections.property("id"), "user_id")
      .add(Projections.property("name"), "user_name"))
    .setResultTransformer(Transformers.aliasToBean(User.class))
    .add(Restrictions.gt("user_id", 10));</code>
Copier après la connexion

Dans cette requête, l'"id" et " Les colonnes "name" sont projetées et affectées respectivement aux alias "user_id" et "user_name". La clause Where fait alors référence à ces alias, évitant ainsi les erreurs qui pourraient survenir en faisant référence aux noms de colonnes d'origine.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!