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 :

Résultat trié par ordre alphabétique


Sujet :

Hibernate Java

  1. #1
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut Résultat trié par ordre alphabétique
    Bonjour,

    Je voudrai trier mon resultat de la requéte par ordre alphabetique !j'y arrive pas

    qualqu'un pourrait m'aider ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query q = getEntityManager().createQuery("SELECT c FROM "+ nomObject +" c ORDER BY c");
    Merci

  2. #2
    Membre Expert
    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
    Par défaut
    Dans le order by, précise le nom de ta propriété sur laquelle tu veux trier : c.taPropriété

  3. #3
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    ça marche ,merci !

  4. #4
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    Bonjour,

    Encore un probleme avec le order by ,j'arrive pas à faire exécuter ma requête du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select ob from location as ob where (ob.pays ="france") AND (ob.location="vitry") AND ((ob.condition="1") OR (ob.condition= "2")) 
    ORDER BY ob.pays , ob.location
    est ce que cette syntaxe est correcte ?

  5. #5
    Membre Expert
    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
    Par défaut
    T'as un message d'erreur ?
    C'est plutôt des guillemets simples qu'il faut utiliser pour tes valeurs.

  6. #6
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Could not execute query
    à vrai dire c'était un exemple de requête juste pour vérifier que la syntaxe en generale était correcte ,la mienne est trop trop longue !!
    la syntaxe dans la vrai est correcte (pour les guillemets ,j'ai du me tromper dans mon poste) ,elle marche sans le "order by" !
    la vrai est celle la :

    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
    24
    25
    26
    27
    Query req = getEntityManager().createQuery("SELECT DISTINCT ob2 FROM Location as ob2 inner join " +
    				"ob2.lstLinkMmdLoc listeLoc WHERE " +
    				"(lower(ob2.country.landx) LIKE lower ('" +condition1+ "%')) " +
    				"AND(lower(ob2.zgm43) LIKE lower('" +condition2+ "%'))" +
    				"AND(lower(ob2.subregion.region.zone.zzone_des) LIKE lower('" +condition3+ "%')) " +
    				"AND(lower(ob2.subregion.region.zregion_des) LIKE lower ('" +condition4+ "%')) " +
    				"AND(lower(ob2.subregion.zsubregion_des) LIKE lower('" +condition5+ "%')) " +
    				"AND(lower(ob2.division.zdivision_des) LIKE lower('" +condition6+ "%'))  " +
    				"AND(lower(listeLoc.mmdContacts.mc_namefir) LIKE lower ('"+ cndmp +"%'))"+
    				"AND(lower(listeLoc.mmdContacts.mc_namelas) LIKE lower('"+ cndmn +"%'))"+
    				(condition13||condition14 ||condition15 || condition16 ?"AND (":"")+
    				(condition13 ? "(ob2.loctype.zloctype_des='Distribution Center') ":"")+
    				(condition13 && condition14 ? "OR":"")+ 
    				(condition14 ? "(ob2.loctype.zloctype_des='Plant')":"")+
    				((condition13||condition14) && condition15  ? "OR":"")+ 
    				(condition15 ? "(ob2.loctype.zloctype_des='Market')":"")+
    				((condition13||condition14 || condition15) && condition16 ? "OR":"")+ 
    				(condition16 ? "(ob2.loctype.zloctype_des='Other')":"")+
    				(condition13||condition14 ||condition15 || condition16 ?")":"")
    				+(condition17||condition18 ||condition19  ?"AND (":"")+
    				(condition17 ? "(listeLoc.mmdContacts.role.role_des='MMD Headquarter') ":"")+
    				(condition17 && condition18 ? "OR":"")+ 
    				(condition18 ? "(listeLoc.mmdContacts.role.role_des='MMD Coordinator') ":"")+
    				((condition17||condition18) && condition19? "OR":"")+ 
    				(condition19 ? "(listeLoc.mmdContacts.role.role_des='MMD Local Expert') ":"")+
    				(condition17||condition18 ||condition19 ?")":"")
    				+"ORDER BY ob2.country.landx,ob2.zgm43,listeLoc.mmdContacts.mc_namelas");

  7. #7
    Membre Expert
    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
    Par défaut
    Ca devrait être bon.
    Tu as bien une propriété location dans une classe location ?

  8. #8
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    Oui ! en plus la requête marche très bien sans le order by !
    le but c'est de faire le tri et quand je rajoute à la fin le order by ça me genere cet erreur

    et il pointe la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Object> listObject = req.getResultList();
    c'est la ligne suivante dans le code aprés la requéte ,il arrive pas recuperer le resultat dans la liste !!

  9. #9
    Membre Expert
    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
    Par défaut
    Donne nous toute la stackTrace, parce que là c'est pas très précis comme message.

  10. #10
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     org.hibernate.exception.SQLGrammarException: could not execute query
    javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
     
     
    Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
    	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90)
    	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
    	at org.hibernate.loader.Loader.doList(Loader.java:2231)
    	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
    	at org.hibernate.loader.Loader.list(Loader.java:2120)
    	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
    	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
    	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
    	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
    	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
    	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67)
    	... 83 more
     
    Caused by: java.sql.SQLException: ORA-01791: cette expression n'a pas été SELECTionnée
     
    	at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    	at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
    	at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:573)
    	at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1891)
    	at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:830)
    	at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2391)
    	at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2672)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:589)
    	at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:527)
    	at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
    	at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
    	at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
    	at org.hibernate.loader.Loader.doQuery(Loader.java:697)
    	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
    	at org.hibernate.loader.Loader.doList(Loader.java:2228)
    	... 91 more
    je voulais utiliser le spoiler pour cacher le message parce qu'il est long mais ça marche pas !comment faire ?

  11. #11
    Membre Expert
    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
    Par défaut
    Il te manque pas un espace avant le order by ?
    Elle est illisible ta requête...

  12. #12
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    j'ai essayé aussi avec l'espace ,ça marche pas !
    oui je sais mais j'ai bcp de condition et de contrainte ,je ne sais pas faire autrement !

  13. #13
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    j'ai fait un System.out.println pour ma requete :
    voila la requéte exécuté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT ob2 FROM Location as ob2 inner join ob2.lstLinkMmdLoc listeLoc WHERE (lower(ob2.country.landx) LIKE lower ('alg%')) AND(lower(ob2.zgm43) LIKE lower('%'))AND(lower(ob2.subregion.region.zone.zzone_des) LIKE lower('%')) AND(lower(ob2.subregion.region.zregion_des) LIKE lower ('%')) AND(lower(ob2.subregion.zsubregion_des) LIKE lower('%')) AND(lower(ob2.division.zdivision_des) LIKE lower('%'))  AND(lower(listeLoc.mmdContacts.mc_namefir) LIKE lower ('%'))AND(lower(listeLoc.mmdContacts.mc_namelas) LIKE lower('%'))AND ((ob2.loctype.zloctype_des='Distribution Center') OR(ob2.loctype.zloctype_des='Plant')OR(ob2.loctype.zloctype_des='Market')OR(ob2.loctype.zloctype_des='Other'))AND ((listeLoc.mmdContacts.role.role_des='MMD Coordinator') OR(listeLoc.mmdContacts.role.role_des='MMD Local Expert') ) ORDER BY ob2.country.landx,ob2.zgm43,listeLoc.mmdContacts.mc_namelas
    oeil sensible s'abstenir

  14. #14
    Membre Expert
    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
    Par défaut
    Ca marche avec un seul critère dans le order by ou même pas ?

  15. #15
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    Méme pas avec un seul critére

  16. #16
    Membre Expert
    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
    Par défaut
    Essaie de récupérer le SQL généré pour voir,
    propriété show_sql à true dans ton fichier de configuration.

  17. #17
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    Je viens de comprendre pourquoi il veut pas !!
    avec
    ça marche car zgm43 est un attribut de ob2 (c'est à dire location)
    pour le reste c'est à partir de ob2 que je vais acceder à d'autres classes et le mapping ne suffit ,je crois que je dois utiliser une autre jointure !!

    je vous tiendrai de mes nouvelles (si hibernate me rendra pas folle !!)

  18. #18
    Membre Expert
    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
    Par défaut
    Oui je me suis posé la question aussi.
    Tiens nous au courant, c'est intéressant.

  19. #19
    Membre confirmé Avatar de Bigoodheart
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 154
    Par défaut
    je viens d'utiliser des inner join la requéte marche .... mais pas pour le order by !!!
    C'est à dire que mes idées se sont épuisés et la jointure ne resoud pas mon problème !!

Discussions similaires

  1. Tri par ordre alphabétique d'un tabular
    Par max0u86 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 21/08/2008, 22h31
  2. Tri par ordre alphabétique sans tenir compte d'une chaîne
    Par Msieurduss dans le forum Requêtes
    Réponses: 3
    Dernier message: 24/06/2008, 10h32
  3. problème tri par ordre alphabétique
    Par bibi 8002 dans le forum Word
    Réponses: 17
    Dernier message: 18/06/2008, 15h21
  4. Réponses: 8
    Dernier message: 26/07/2007, 11h46
  5. Tri par ordre alphabétique
    Par orus8 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/04/2003, 19h27

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