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 :

Query : min and max ne sont pas pris en compte


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Par défaut Query : min and max ne sont pas pris en compte
    Bonjour,

    Les champs correspondants à min et max dans un select ne sont pas renvoyés par Query.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Query query = em.createQuery("SELECT po.customerId.customerId, MAX(po.shippingCost), \n"+
    "MIN(po.shippingCost), COUNT(po.orderNum) countligne, COUNT(DISTINCT po.productId.productId) \n" +
    "FROM PurchaseOrder po WHERE po.customerId.customerId = :Id GROUP BY po.customerId.customerId");
    la trace sql dans le log eclipselink:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT t0.CUSTOMER_ID, COUNT(t1.ORDER_NUM), COUNT(DISTINCT(t2.PRODUCT_ID)) 
    FROM CUSTOMER t0, PRODUCT  t2, PURCHASE_ORDER t1 WHERE ((t1.CUSTOMER_ID = ?) 
    AND ((t0.CUSTOMER_ID = t1.CUSTOMER_ID) AND (t2.PRODUCT_ID = t1.PRODUCT_ID)))
    GROUP BY t0.CUSTOMER_ID
    Quelqu'un a une idée ?
    Merci d'avance.

    environnement: Netbeans 8.0.1, JDK 1.7, eclipseLink 2.5.2, JSF 2.2, Primefaces 5.0

  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
    Bonjour,

    Peut on savoir l'erreur retournée par hibernate?

  3. #3
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Par défaut
    L'implémentation JPA que j'utilise est eclipseLink, pas hibernate.
    Il n'y a pas d'erreur, ni levée d'exception, du moins dans le log du serveur glassfish.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
      <persistence-unit name="org.desk_customers_war_1.0-SNAPSHOTPU" transaction-type="JTA">
        <jta-data-source>jdbc/sample</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
        <properties>
            <property name="eclipselink.logging.level.sql" value="ALL"/>
            <property name="eclipselink.logging.parameters" value="true"/>
            <property name="eclipselink.logging.timestamp" value="true"/>
            <property name="eclipselink.logging.exceptions" value="true"/>
        </properties>
      </persistence-unit>
    </persistence>

  4. #4
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    Salut,
    comment as-tu fait pour savoir qu´ils ne sont pas retournés?

    Eric

  5. #5
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Par défaut
    C'est après Query.getResultList().
    J'ai constaté que le tableau d'objet renvoyé ne contient que 2 valeurs au lieu de 4.
    En amont, la requête SQL n'a pas retenu min et max dans son select.

  6. #6
    Membre Expert Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Par défaut
    salut,
    tu auras comme retour une liste d´objets:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    List<Object[]> resultat = querygetResultList();
    la tu as fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      Object[] objMinAndMaxResult = resultat .get(0);
    System.out.println('Min: ' + objMinAndMaxResult[1] + ' Max: ' + objMinAndMaxResult[2]);
    as -tu essayé cela?

    eric

Discussions similaires

  1. [texmaker] les modif dans ma biblio ne sont pas pris en compte
    Par membreComplexe12 dans le forum Bibliographies - Index - Glossaires
    Réponses: 4
    Dernier message: 09/09/2011, 10h54
  2. Réponses: 1
    Dernier message: 09/08/2010, 10h25
  3. les retours chariots ne sont pas pris en compte dans le textbox
    Par marco62118 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/08/2009, 21h30
  4. Float qui ne sont pas pris en compte sous ie6
    Par luna6 dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 11/03/2009, 14h11
  5. mes VirtualHost ne sont pas pris en compte
    Par ProgVal dans le forum Apache
    Réponses: 2
    Dernier message: 31/12/2008, 17h37

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