-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Utilisation d'un collection-type et list-index
PostPosted: Thu Jul 23, 2009 5:57 am 
Newbie

Joined: Thu Jul 23, 2009 5:29 am
Posts: 1
Bonjour à tous !

Je découvre ce formidable outil qu'est Hibernate et je rencontre quelques petites difficultés. Je suis stagiaire dans une petite boite pour laquelle je développe un outil de CRM (gestion de la relation clientèle), ça c''est pour situer le contexte.

J'ai besoin de pouvoir présenter les données de mon application dans des tableaux triables et filtrables, c'est la raison pour laquelle je me suis penché sur les GlazedLists : http://publicobject.com/glazedlists/. En plus ils fournissent une collection qui implémente notamment UserCollectionType, ce qui me permet de récupérer directement mes enregistrements dans ce "format" et de le relier directement à ma JTable.

Le petit souci que je rencontre actuellement, c'est que je dispose d'une table Catégorie que j'aimerais bien pouvoir récupérer directement sous forme de liste (d'EventList en fait, le type fournit par les GlazedLists), or pour pouvoir utiliser un type personnalisé il faut passer par le mapping d'une association si j'ai bien suivi (pour utiliser la balise <list>).
C'est à dire que (par exemple) je ne pourrais récupérer les catégories sous forme d'EventList que si je les récupères via une autre classe "conteneur" en ayant défini une relation One-to-many comme suit :
Code:
<class name="Categories">
  <id name="id">
     <generator class="native"></generator>
  </id>
 
  <list name="categories" collection-type="ca.odell.glazedlists.hibernate.EventListType">
     <key column="id_conteneur"></key>
     <list-index column="idx"></list-index>
     <one-to-many class="Categorie"/>
  </list>
  </class>


Et en effet, celà fonctionne (ou presque). Déjà, suis-je obligé de "bricoler" de cette façon (passer par une classe qui contient toutes les catégories) pour récupérer l'ensemble des catégories dans une liste de type personnalisé ?

Ensuite, je me suis aperçu qu'en chargeant les catégories de cette façon que seule la dernière catégorie apparaissait dans ma table. Je suis allé voir dans ma base et toutes les valeurs de la colonne idx (liée au list-index) sont à 0.
Pour voir si ça venait bien de là j'ai modifié ce champ à la main en mettant une valeur différente pour chaque enregistrement (1,2,3,4...) et là effectivement, ma table était correctement remplie.

Du coup je me pose la question suivante : comment faire pour gérer correctement ce champ et qu'il ne soit pas toujours à 0 ?

Je ne comprend pas non plus la nécessite de devoir indiquer cet index à l'intérieur d'un champ de la base de données, j'imagine que c'est dû au fonctionnement interne d'hibernate mais comme celui-ci est capable de gérer tout seul des id pourquoi ne peut-il pas gérer des index de la même manière ?

Je vous remercie d'avance pour votre aide et pour vos éclaircissements !

Julien


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.