IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Requête basique HQL


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Analyste-developpeur java
    Inscrit en
    Mai 2010
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste-developpeur java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2010
    Messages : 135
    Par défaut Requête basique HQL
    Bonjour!

    J'aimerais spécifier dans la requête HQL de ne récupérer que le premier résultat de la liste de résultat retournée.

    Il s'agit d'une sous requête aussi je n'utilise pas Query.setFirstResult et Query.setMaxResults() (enfin en tous cas je ne vois pas comment les utiliser).

    Merci de votre aide!

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    C'est bien avec suivit de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    query.getSingleResult()
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre Expert
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Par défaut
    Je me méfie très violemment de setMaxResults depuis que j'ai eu la surprise le voir s'appliquer à un set contenu dans l'objet de départ, et pas seulement à l'objet de départ.

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Citation Envoyé par Annsen Voir le message
    Bonjour!

    J'aimerais spécifier dans la requête HQL de ne récupérer que le premier résultat de la liste de résultat retournée.

    Il s'agit d'une sous requête aussi je n'utilise pas Query.setFirstResult et Query.setMaxResults() (enfin en tous cas je ne vois pas comment les utiliser).

    Merci de votre aide!
    Peux tu specifier fonctionnellement ton besoin? si ca se trouve tu veux peut être récuperer l'enregistrement dont l'une des colonnes correspond à un certain max ou un min, dans ce cas au lieu de rapatrier toute une collection pour n'en retenir qu'un seul enregistrement, tu pourrais effectuer ton filtre directement dans ton sgbd

  5. #5
    Membre expérimenté Avatar de mOuLi
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2008
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2008
    Messages : 170
    Par défaut
    Je me méfie très violemment de setMaxResults depuis que j'ai eu la surprise le voir s'appliquer à un set contenu dans l'objet de départ, et pas seulement à l'objet de départ.
    C'est vrai que le setMaxResults ne s'applique pas systématiquement et il y a quelques cas particuliers où ça ne marche pas soit parce que le SGBD ne sait pas l'appliquer (ou parce que le dialecte Hibernate correspondant est incomplet), soit parce que la requête est un peu trop compliquée pour pouvoir appliquer la pagination en SQL (par exemple à cause de la présence d'un ou plusieurs join fetch dans une requête HQL).
    Dans le 2ème cas, il est intéressant de noter qu'Hibernate produit quand même l'avertissement suivant :
    WARN o.h.hql.ast.QueryTranslatorImpl - firstResult/maxResults specified with collection fetch; applying in memory!

Discussions similaires

  1. [MySQL] requête basique mysql ne fonctionne pas
    Par rvm31 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/08/2011, 21h36
  2. [Oracle Spatial] Requête basique
    Par bob633 dans le forum PL/SQL
    Réponses: 0
    Dernier message: 13/12/2010, 21h47
  3. [1.x] requête basique de comparaison, (champ de formulaire)
    Par Ontolingua dans le forum Symfony
    Réponses: 3
    Dernier message: 09/09/2010, 12h14
  4. Requêter en HQL les propriétés de type Collection
    Par sicard_51 dans le forum Hibernate
    Réponses: 1
    Dernier message: 08/03/2010, 20h08
  5. Erreur sur une requête basique
    Par tnarol dans le forum Débuter
    Réponses: 7
    Dernier message: 19/05/2009, 00h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo