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

JPA Java Discussion :

[HQL] Requête pour regrouper les résultats par classes filles


Sujet :

JPA Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 15
    Points : 28
    Points
    28
    Par défaut [HQL] Requête pour regrouper les résultats par classes filles
    bonjour,
    j'ai une hiérarchie de classes. je voudrais faire une requête pour avoir le nombre de ligne dans chaque table fille.

    j'ai utilisé cette requête: SELECT m.class, count(*) FROM ClasseMere m group by m.class

    hibernate me renvoie:

    1 10
    3 6
    2 13
    ...

    la colonne de gauche représente j'imagine les classes filles. sauf que moi je voudrais avoir leurs noms.
    alors ma question est comment faire pour avoir les noms des classes et non ces numéros.

    en espérant avoir été clair, je vous remercie d'avance.

  2. #2
    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
    Salut,

    D'abord, tu ne peux pas compter le nombre de lignes de chaque table dans une seule requête car cela reviendrait à retourner des résultats en fonction des liens (jointures) qu'il y a entre chaque table (ou entités).

    Ensuite, si tu as une classe mère, il ne faut pas l'utiliser comme entité et la mapper. Il faut considérer les entités filles comme des entités à part entière et ajouter l'annotation @MappedSuperclass à la classe mère pour ne pas la prendre en compte dans le mapping.

    Enfin, pour répondre à ta question, je mettrais plusieurs requetes avec un count sur chaque entité (une solution parmis d'autres).
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  3. #3
    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
    En SQL, je ferais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT  (
            SELECT COUNT(*)
            FROM   tab1
            ) AS count1,
            (
            SELECT COUNT(*)
            FROM   tab2
            ) AS count2
    FROM    dual
    Ce que tu ne peux pas faire en JPQL parce que dual n'est pas mappé (c'est lexception que tu peux avoir). Tu peux aussi mettre une union ou deux requetes que tu exécute séparement.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

Discussions similaires

  1. Réponses: 12
    Dernier message: 16/08/2012, 12h33
  2. Requête pour afficher les résultats par lot
    Par devalender dans le forum SQL
    Réponses: 4
    Dernier message: 26/10/2011, 15h26
  3. [AC-2007] Requête pour Changer les Résultats d'une autre requête
    Par Cloé_de_Bourg dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 05/11/2009, 13h33
  4. [MySQL] Requête pour afficher les résultats triés
    Par vince351 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 28/07/2009, 11h54
  5. créer une requête pour regrouper par mois
    Par kuhnden dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 26/01/2008, 13h41

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