J'ai un utilisateur qui dispose d'une collection de Commande qu'il a effectuées.
J'utilise une machine a état pour adapter le comportement de l'objet à chaque etat.
La classe commande correspondante est composé d'un attribut produit et d' un attribut etat, de type EtatCommande (Interface que j'ai réalisée). 3 classes implémentent cette interface : EtatValide, EtatAnnule, EtatEnAttente.
En fonction du déroulement de l'application, l'attribut Etat change de classe. Au départ il est a "EtatEnAttente", et ensuite il peut passer a "EtatValide" ou a "EtatAnnule".
Voila mon mapping :
Code:
<hibernate-mapping package="com.billet.metier.databeans">
<class name="Utilisateur" table="T_UTILISATEUR">
<id column="UT_ID" name="id" type="string" >
<generator class="assigned" />
</id>
<set lazy="true" name="produitAchete" table = "T_ACHETER">
<key column="UT_ID" />
<composite-element class="Commande">
<many-to-one name="produit" column="P_ID" class="Produit" />
<property name="qte" type="integer">
<column name="QTE"/>
</property>
<!-- ICI le mapping pour l'attribut etat, avec les valeur par défaut -->
<property name="etat" type="string">
<column name="ETAT"/>
</property>
</composite-element>
</set>
</class>
</hibernate-mapping>
Je sais que le mapping pour l'attribut "etat" est faux mais je ne sais pas comment faire.
Merci de vos réponses.