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 :

Tri sur many to many


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 148
    Par défaut Tri sur many to many
    Bonjour,

    Je débutes avec hibernate et j'aimerais savoir si cette manipulation est possible.

    J'ai trois tables :

    P : P_ID ...
    PB: P_ID,B_ID
    B: B_ID, ORDRE_SPECIFIC

    la table PB est associative entre P et B. Je souhaites récupérer l'ensemble des B appartenant au P selon l'ordre définit par ORDRE_SPECIFIC

    Dans mon fichier P.hbm.xml j'ai fais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <set name="b" 
      		table="BP"
      		order-by="B_ID">
            <key column="P_ID"/>
            <many-to-many 
         		column="B_ID"
                class="B"
                foreign-key="FK_ID_B_P"/>
        </set>
    Comment est il possible de modifier ceci en faisant order-by=ORDRE_SPECIFIC, sachant que ce champ n'existe pas dans PB

    Merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 148
    Par défaut
    Citation Envoyé par dai.kaioh Voir le message
    Bonjour,

    Je débutes avec hibernate et j'aimerais savoir si cette manipulation est possible.

    J'ai trois tables :

    P : P_ID ...
    PB: P_ID,B_ID
    B: B_ID, ORDRE_SPECIFIC

    la table PB est associative entre P et B. Je souhaites récupérer l'ensemble des B appartenant au P selon l'ordre définit par ORDRE_SPECIFIC

    Dans mon fichier P.hbm.xml j'ai fais ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <set name="b" 
      		table="BP"
      		order-by="B_ID">
            <key column="P_ID"/>
            <many-to-many 
         		column="B_ID"
                class="B"
                foreign-key="FK_ID_B_P"/>
        </set>
    Comment est il possible de modifier ceci en faisant order-by=ORDRE_SPECIFIC, sachant que ce champ n'existe pas dans PB

    Merci d'avance

  3. #3
    Membre Expert
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Par défaut
    Tu peux déclarer l'ordre dans le many-to-many :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <set name="b" table="BP" >
    	<key column="P_ID"/>
            <many-to-many 
         		column="B_ID"
    		class="B"
    		foreign-key="FK_ID_B_P"
    		order-by="ORDRE_SPECIFIC"
    		/>
    </set>

  4. #4
    Membre confirmé
    Inscrit en
    Février 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 148
    Par défaut
    Bonjour,

    J'ai l'erreur suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Attribute "order-by" must be declared for element type "many-to-many".
    Où dois je déclarer l'attribut? Mais àl 'éxécution ce na lui poses pas de problème et fonctionne.

    Merci

  5. #5
    Membre Expert
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Par défaut
    Curieux, quand je le déclare dans le many-to-many il me le prend, c'est peut-être lié à la version d'hibernate ? Je suis en v3.

    Sinon, en fait je viens de m'apercevoir que tu peux le déclarer dans la déclaration du set, même si le champ est contenu dans la table d'arrivée. Il faut bien déclarer le nom de la colonne (et pas le nom du champ java).

Discussions similaires

  1. Update sur une table Many-to-Many
    Par Feneck91 dans le forum Entity Framework
    Réponses: 1
    Dernier message: 27/09/2013, 12h59
  2. [1.x] setter sur une Doctrine_collection: many to many
    Par flora806 dans le forum Symfony
    Réponses: 3
    Dernier message: 20/03/2012, 11h16
  3. Double restriction sur une association "many to many"
    Par id3user dans le forum Hibernate
    Réponses: 0
    Dernier message: 17/05/2010, 09h42
  4. requete sur map-key-many-to-many
    Par audklie2 dans le forum Hibernate
    Réponses: 2
    Dernier message: 20/11/2009, 17h48
  5. [Framework Entities]"Exercice" sur recursion et many to many
    Par anthyme dans le forum Accès aux données
    Réponses: 12
    Dernier message: 04/10/2008, 19h53

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