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

Spring Java Discussion :

JPA / Hibernate : ORDER BY


Sujet :

Spring Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 81
    Points : 48
    Points
    48
    Par défaut JPA / Hibernate : ORDER BY
    Bonjour,

    Je rencontre des problèmes pour récupérer des listes triés via les requêtes stockés, le ORDER BY ne fonctionne pas... L'annotation @ORDERBY non plus...

    Je ne vois pas comment je dois m'y prendre.

    Merci d'avance pour votre aide

  2. #2
    Membre chevronné 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
    Points : 2 120
    Points
    2 120
    Par défaut
    Salut,
    as-tu un code pour qu´on puisse voir ou est ce que cela cale?

    Eric

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Tu dois préciser encore plus a quel niveau se situ le problème.
    Sinon si tu utilise Jpa tu peux ecrire simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	public List<Employee> findAll() {
           return em.createQuery("select e from Employee e where ..... order by e.tonChamp desc").getResultList();
    }

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Oui j'utilise JPA et ma requête est formuler de la même manière que toi mais il ne se passe rien...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public List<Categorie> toutesLesCategories(long id) {
    	List<Categorie> results = em.createQuery("SELECT c FROM Categorie c WHERE c.media.id = :id ORDER BY c.media.media ASC")
    			.setParameter("id", id)
    			.getResultList();
    	return results;
    }

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Points : 290
    Points
    290
    Par défaut
    Tu veux dire quoi par il ne se passe rien... !! que même si tu enlève order by ou que tu met "Order by desc" rien ne change dans ton outPut ??

    sinon je te propose de modifier ton order by de c.media.media à c.autreAttribut de ta classe Categorie car je ne suis pas très sur de ce que c.media.media va donner.
    Si ça fonctionne alors ton problème vient de la.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 81
    Points : 48
    Points
    48
    Par défaut
    Oui, aucun changement avec le order by ou sans ^^

    c.attribut fonctionne mais je suis étonné de ne pouvoir y arriver que de cette manière...

    Parce que dans le cas d'un @ManyToMany unidirectionnel :

    Categorie * CategorieTheme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class Categorie
    {
            @ManyToMany
    	private List<CategorieTheme> categoriesThemes;
    }
    Ma requêtte pour sortir les CategorieTheme d'une Categorie ressemble à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT c.categoriesThemes FROM Categorie c INNER JOIN c.categoriesThemes t WHERE c.id = :id ORDER BY t.position ASC
    Résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [{"id":2,"categorieTheme":"Lieux","position":3},{"id":3,"categorieTheme":"Périodes","position":4},{"id":4,"categorieTheme":"Civilisations","position":5},{"id":5,"categorieTheme":"Genres","position":1},{"id":1,"categorieTheme":"Themes","position":2}]
    Comment puis je avoir les résultats trié dans ce cas ci ?

  7. #7
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 936
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 936
    Points : 4 356
    Points
    4 356
    Par défaut
    mettez
    org.hibernate.SQL en DEBUG
    dans votre config de log pour voir le query natif qui est généré

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/06/2011, 11h16
  2. [JPA / Hibernate] Cascade qui ne cascade pas !
    Par dazz_x dans le forum Persistance des données
    Réponses: 1
    Dernier message: 11/09/2007, 13h35
  3. JPA / Hibernate.
    Par Ho(c)ine. dans le forum Persistance des données
    Réponses: 2
    Dernier message: 23/08/2007, 15h39
  4. Hibernate + order by
    Par Christophe P. dans le forum Hibernate
    Réponses: 5
    Dernier message: 08/12/2006, 17h18

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