Bonjour,
J'ai un soucis avec l'utilisation d'Hibernate :
Voici mon fichier de mapping xml :
(...)
<hibernate-mapping>
<class name="donnee.Dparam" table="DPARAM">
<composite-id>
<key-property column="csoc" name="csoc" type="string"/>
<key-property column="cetab" name="cetab" type="string"/>
<key-property column="cparam" name="cparam" type="string"/>
<key-property column="ctypeparam" name="ctypeparam" type="string"/>
</composite-id>
<property column="lparam" name="lparam" type="string"/>
<property column="cacces" name="cacces" type="string"/>
<property column="commentaire" name="commentaire" type="string"/>
(...)
Une entrée dparam dans ma base de données ne renseigne pas systématiquement les quatre key-property csoc,cetab,cparam et ctypeparam.
Par exemple, l'entrée dparam suivante :
csoc "01"
cetab "Usine"
cparam "production"
ctypeparam <<non renseigné>>
Je ne rencontre pas de problème pour récupérer une telle entrée. Par contre, pour la suppression je ne peux pas supprimer cette entrée, même au sein d'une même session.
Par exemple :
Query requMvt = session.createQuery("from Dparam ");
listResult = requMvt.list();
Dparam dp = (Dparam)listResult.get(listResult.size()-1);
//on récupère un objet comme décrit ci-dessus,
//à savoir que son champs ctypeparam est non renseigné
session.delete(dp);
tx.commit();
Ceci est sans effet, l'entrée correspondant à l'objet Dparam dp n'est pas supprimé de ma base.
J'espère avoir été clair. Si qqn peut m'aider je lui en serais grandement reconnaissant.
Ludovic
|