2009-09-02 3 views
1

supposons que l'objet A possède une liste d'objets B, et que l'objet B doit avoir un objet C, B peut être une base de commande sur C.level.comment faire par ordre dans le mappage hibernate

Dans A.hbm.xml

<bag name="listB" 
      table="T_B" 
      inverse="false" 
      order-by="?? what should i do here???" 
     > 
      <key column="ID_A" not-null="true"/> 
      <many-to-many column="ID_B" class="B"/> 
     </bag> 

Répondre

1

L'ordre par clause doit contenir l'extrait de code SQL que vous utilisez pour commander la liste des articles. Si vos critères de commande ne se trouvent pas dans la table T_B de votre exemple, vous ne pourrez probablement pas accomplir ce que vous voulez. D'un autre côté, si B contient un C et qu'il s'agit toujours d'une relation un à un, vous pouvez définir une vue dans la BD, agréger les tables et vous donner une colonne à trier.

0

Je croyais que l'ordre par est spécifié dans votre requête? non?

exp:

from Document fetch all properties order by name 
+0

merci pour votre réponse rapide..mais parfois la requête n'est pas assez bon .... supposons que j'ai déjà obtenu l'objet A ... qui est l'objet Document dans votre requête ... et je dis ... document. getProperties() .... alors la valeur de retour ne serait pas dans l'ordre – jojo

+0

Ensuite, je dois dire désolé. Je ne sais pas comment le régler non plus. J'utiliserais l'interface "Comparable" avec "Collection.sort()" dans ce cas, mais de cette façon je perds la beauté de la requête. –