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 :

Filtrer le résultat d'une requette


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut Filtrer le résultat d'une requette
    Bonjour, je suis un débutant en Hibernate et aujourd'hui j'essai de filter le résultat d'une requette. Je m'explique:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public List findAll() {
    		log.debug("finding all instances");
    		try {
    			String queryString = "from Objet A";
    			Query queryObject = getSession().createQuery(queryString);
    			return queryObject.list();
    		} catch (RuntimeException re) {
    			log.error("find all failed", re);
    			throw re;
    		}
    	}
    Ici, la findAll me renvoit toutes les instances d'un ObjetA.

    Dans un second temps, je voudrai pouvoir récupérer tous les objets A dont un des attributs d'un objet B soit égal à 1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public List findObjetAavecObjetB() {
    		log.debug("finding all instances");
    		try {
    			List<ObjA> objAFiltered = new ArrayList<ObjA>();
    			List<ObjA> objA = findAll();
    			for (Iterator iterator = objA.iterator(); iterator.hasNext();) {
     
     
    			}
    			return null;
    		} catch (RuntimeException re) {
    			log.error("find all failed", re);
    			throw re;
    		}
    	}
    Le but, vous l'avez compris est de remplir objAFiltered avec les instances respectant la condition: ObjetB.estPublic=1;

    Je suis vraiment bloqué...

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Pourquoi ne fais tu pas le filtre directement dans la requête ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    Dans un premier temps j'avais fait de cette façon mais cette solution de fonctionne pas quand je veux ensuite afficher le résultat dans un jsp.

    J'ai besoin que la requette me renvoi un objet A.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Essaie plutôt de comprendre pourquoi cela ne fonctionne pas.
    C'est quand même le plus propre et le plus rapide.

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    ca ne fonctionnait pas car la requette me renvoyait des instances et non des objets. C'est impossible de passer par le système que j'ai proposé dans le Post 1 ?

  6. #6
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    la requette me renvoyait des instances et non des objets
    Qu'entends tu par là ?

    Si c'est possible mais encore une fois, pour moi, ce n'est pas la bonne façon de faire.

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 78
    Points : 25
    Points
    25
    Par défaut
    La précédente requête était de type classique:

    select nom.objet A
    from ObjectB, ObjetA, Composer

    where Jointure
    And restriction.

    Le problème que j'ai eu est que ce genre de requete me renvoyait dans la jsp un tableau avec le nombre de ligne conforme au résultat mais qui était vide. (c'est à dire que les cellules étaient vides).

    Aprés de multiples essais et tests, j'essai de passer par ce genre de tableau en shuntant Composer qui est problématique (clé composé).

    De plus, je reprend un projet qui a été commencé par une autre personne et pour ne pas tout avoir à recommencer, je suis obligé de faire avec ce qui est déjà existant

Discussions similaires

  1. créer une colonne dans le résultat d'une requette
    Par timal78 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2007, 10h21
  2. Export le résultat d'une requette vers Excel
    Par aityahia dans le forum Coldfusion
    Réponses: 3
    Dernier message: 05/12/2006, 21h56
  3. Résultat d'une requette dans une variable
    Par kmaniche dans le forum C++Builder
    Réponses: 11
    Dernier message: 01/12/2006, 15h23
  4. [MySQL] Résultat d'une requette dans un menu en liste
    Par Mimisator dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/10/2005, 20h55
  5. Réponses: 1
    Dernier message: 13/04/2005, 14h41

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