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 :

Hibernate:requête avec plusieurs critères(cause liste choix multiple),comment faire?


Sujet :

Hibernate Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 116
    Points
    116
    Par défaut Hibernate:requête avec plusieurs critères(cause liste choix multiple),comment faire?
    Bonjour tlm

    Voilà, j'ai un problème je dois retourner les enregistrements correspondants à une selection dans une liste à choix multiples, c'est-à-dire que ma requète devra retrourné les résultats pour une ou plusieurs valeurs sélectionnées à la fois
    Je pense donc passer en paramètre de la fonction qui appelle la requête un tableau avec ses valeurs sélectionnées, mais apres comment adapter la requête?

    Savez-vous comment faire?
    Toutes les pistes et reflexions sont les bienvenues
    merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 156
    Points : 191
    Points
    191

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 116
    Points
    116
    Par défaut
    Merci, mais j'ai trouvé une solution : il suffit d'utiliser la fonction setParameterList sur le createQuery.
    Cette fonction permet de passer une liste en paramètre et hibernate génère la requète sql avec un in suivi des éléments contenus dans cette liste...

    Par contre savez-vous si c'est bon niveau performance???

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 68
    Points : 116
    Points
    116
    Par défaut
    Citation Envoyé par phantomass Voir le message
    bonjour
    le lien ne marche plus.... savez-vous a quelle adresse la documentation a été migrée?

  5. #5
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Citation Envoyé par Jojo K-ri Voir le message
    Par contre savez-vous si c'est bon niveau performance???
    Niveau performance, non ! a mois que tu n'ais pas beaucoup d'enregistrements dans ta base.

    Il faut savoir que la limite de valeurs passées en parametres pour ce type de requête est de 1000 dans hibernate.
    J'ai été confronté au problème une fois, j'ai du décomposer l'appel à ma requete et utiliser un batch : http://docs.jboss.org/hibernate/core...tml/batch.html
    De plus, la requete générée est monstrueuse...
    Il faut faire des tests et voir si le sgbd "tient le coup" et si les temps de réponse sont satisfaisants.

  6. #6
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Points : 1 154
    Points
    1 154
    Par défaut
    Citation Envoyé par slim Voir le message
    Il faut savoir que la limite de valeurs passées en parametres pour ce type de requête est de 1000 dans hibernate.
    Juste en passant, c'est aussi une limite Oracle (et surement d'autres SGBD aussi), pas spécialement d'hibernate!

  7. #7
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Oui, surement sur les autres sgbd aussi.
    Toujours est-il que je l'avais fais sur PostgreSQL. J'avais copié la requete générée par hibernate et l'avais executé. Les 1000 sont passés. Comme je n'avais pas trop le temps de chercher, je m'étais arrêté là. Mais je pense qu'il y a une limitation sur tous les sgbd comme tu dis.

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/06/2010, 13h04
  2. Requête avec un critère appartenant à une liste déroulante
    Par liloudris dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 16/09/2009, 05h14
  3. [XL-2003] obtenir une donnée avec plusieurs critères de choix
    Par spico45 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/04/2009, 13h34
  4. requête SQL avec plusieurs critères de sélection
    Par gailup dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/06/2007, 08h44
  5. Critère de requête avec une zone de liste dans un formulaire
    Par Dehez dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/06/2006, 12h49

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