Bonjour tout le monde,
J'ai un problème d'affichage de données many to many avec display tag. J'ai une classe Kit et une classe Piece_Rechange. Entre eux il y a une relation many to many. Je voudrais afficher dans le display tag chaque kit avec leurs pieces_rechanges comme ça dans la JSP :
1 2 3 4 5 6 7
| <display:table name="listedeskits" export="true" requestURI="/administrateur/referencekit.action" pagesize="7">
<display:column property="nom_kit" title="nom kit" />
<display:column property="nomenclature" title="nomenclature" />
<display:column property="nom_piece" title="nom_piece" />
<display:column property="quantite" title="quantite" />
<display:setProperty name="export.excel.filename" value="Liste des kits.xls" />
</display:table> |
lr probleme quil ne saffiche que le nom_kit voila la requete et la methode de l'action
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
| private List <Kit>listedeskits = new ArrayList<Kit>();
public List<Kit> getListedeskits() {
return listedeskits;
}
public void setListedeskits(List<Kit> listedeskits) {
this.listedeskits = listedeskits;
}
public String listekit() throws Exception{
listedeskits=KitM.getListkit();
return SUCCESS;
}
public static List getListkit() throws Exception {
return KitDao.getListkit();
}
public static List getListkit()throws Exception {
String requete = " select distinct k from Kit k inner join k.pieces_rechanges pk";
return BaseDao.getInstance().getListObject(requete);
} |
Voici les hbms des deux classes :
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 37 38 39 40 41 42 43 44 45
| <hibernate-mapping>
<class name="entite.Kit" table="KIT">
<id name="id_kit" type="int">
<column name="ID_KIT" />
<generator class="increment" />
</id>
<property name="nom_kit" type="string">
<column name="NOM_KIT" />
</property>
<set name="type_maintenancess" table="TYPE_MAINTENANCE"
inverse="true" lazy="true" fetch="select" cascade="all">
<key>
<column name="ID_KIT" />
</key>
<one-to-many class="entite.Type_Maintenance" />
</set>
<set fetch="select" lazy="true" inverse="true" cascade="all" name="pieces_rechanges" table="KIT_PIECE">
<key column="ID_KIT">
</key>
<many-to-many column="ID_PIECE" class="entite.Piece_Rechange" />
</set>
</class>
</hibernate-mapping>
<hibernate-mapping>
<class name="entite.Piece_Rechange" table="PIECE_RECHANGE">
<id name="id_piece" type="int">
<column name="ID_PIECE" />
<generator class="increment" />
</id>
<property name="nom_piece" type="string">
<column name="NOM_PIECE" />
</property>
<property name="nomenclature" type="string">
<column name="NOMENCLATURE" />
</property>
<property name="quantite" type="int">
<column name="QUANTITE" />
</property>
<set name="kits" table="KIT_PIECE" inverse="true" lazy="true" fetch="select">
<key column="ID_PIECE"> </key>
<many-to-many column="ID_KIT" class="entite.Kit"></many-to-many> </set>
</class>
</hibernate-mapping> |
Merci d'avance pour votre aide.
Partager