Class Java :
public class Activite extends ValueObject {
private ActivitePk activitePk;
private String libActAct;
}
//la classe ActivitePk représente Le primary key de la classe Activite://
public class ActivitePk implements Serializable {
private SClasActivitePk sClasActivitePk;
private String codActAct;
}
// la calsse SClasActivitePk représente le primary key d'une autre classe
public class SClasActivitePk implements Serializable {
private ClasActivite clasActivite;
private Integer codSactSact;
}
==> Mappage de la classe Activite :
<hibernate-mapping package="com.bna.admin.model" default-lazy="false">
<class name="Activite" table="ACTIVITE">
<composite-id name="activitePk" class="ActivitePk">
<key-property name="codActAct" column="COD_ACT_ACT" />
<composite-id name="sClasActivitePk" class="SClasActivitePk">
<key-property name="codSactSact" column="COD_SACT_SACT" />
<key-many-to-one name="clasActivite" column ="COD_CACT_CACT"/>
</composite-id>
</composite-id>
<property name="libActAct" not-null="true" column="LIB_ACT_ACT"/>
</class>
</hibernate-mapping>
avec ce mappage, une erreur hibernate sera gébnée, ( composite-id contenant un compsite-id)
comment peut on résoudre ce problème avec un autre mappage ( qui permet d'utiliser un clé composé d'une autre classe dans la clé composé de la classe Activite ???)
Merci d'avance.
Partager