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 :

sum dans la clause select


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de yacine.dev
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut sum dans la clause select
    Bonjour,en HQL,je voudrais sélectionner les commandes avec leur nombre d'articles y commandées .un peu prés comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    List commandes=session.createQuery("select commande,count(commande.article) from Commande commande").
    list();
    c'est juste ?comment exploiter le resultat ? et comment récupérer le count.

    merci d'avance.

  2. #2
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List commandes=session.createQuery("select commande,count(commande.article) from Commande commande").
    Voila comment tu pourrais la modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<Object[]> commandes=session.createQuery("select commande,count(commande.article) as nb from Commande commande group by commande.id").
    Dans ton iteration de recuperation tu castes les champs aux positions 1 et 2.

  3. #3
    Membre très actif Avatar de yacine.dev
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dans ton iteration de recuperation tu castes les champs aux positions 1 et 2.
    j'ai esseyé mais dans le cast il me envoie une erreur :Ljava.lang.Object; cannot be cast commande
    comment faire pour récuperer le resultat ? tu peu me donner un exemple?

    merci

  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
    A quel moment plante til ? au moment de la recuperation ou de la requete en elle meme? si c'est au moment de la recuperation , alors peux tu me montrer ton code de recuperation ?

  5. #5
    Membre très actif Avatar de yacine.dev
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut
    Bonjour, voila le code de la récupération :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    
      List<Dondassociation> listdon=new ArrayList<Dondassociation>();
      Dondassociation don=new Dondassociation();  
    
       List<Object> dons=query.list();
    
       Iterator<Object>it=dons.iterator();
    
       while (it.hasNext()) {
        	//if pour  diférencier entre les objets Donassociation et leur sum (nombre de produit)
        	if(i%2==0){
        		don=(Dondassociation) it.next();//erreur de casting:Ljava.lang.Object; cannot be cast to Dondassociation
        		
        	}
        	else{
                 //j'enregistre le nombre de produit dans l'objet précédente
        		don.setNombreProdui( (Integer) it.next());
    		    listdon.add(don);
        		
        	}
    		i++;
    	}
    merci

  6. #6
    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
    Si c'est la requete que tu nous as montrée ci dessus, c'est pas le resultat attendu là, tu recuperes le resultat je suppose?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [EF] Entite SQL - Requête dans une clause select
    Par Marsupilami_00 dans le forum Accès aux données
    Réponses: 0
    Dernier message: 20/11/2009, 11h05
  2. Réponses: 7
    Dernier message: 08/07/2008, 19h41
  3. 3 conditions dans une clause SELECT
    Par Aurèl90 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 03/11/2005, 16h05
  4. If dans la clause SELECT...
    Par argv666 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 29/10/2005, 07h13
  5. Sous-requête dans la clause Select
    Par Danger dans le forum WinDev
    Réponses: 2
    Dernier message: 24/05/2005, 17h33

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