Salut,
J'ai un probleme surlequel je suis bloqué depuis trois jours et j'ai besoin d'aide... En fait, j'ai un composite-element et je veux mettre à jour les valeurs des colonnes qui ne correpondent pas aux clés primaires, mais je n'y arrive pas...
Plus clairement, j'ai une association (Actors_DataType) entre trois tables Actors (qui correspond à une classe Java Acteur) et DataType (qui correpond a une classe Java Field) et Territory (qui correspond à une classe Java Territory). Le composite-element correspond à un attribut "rights" dans la classe Actors et a une classe Java TerritoryActorField...
L'association possede 5 champs: les trois cles etrangeres et deux champs: right et mandatory.
LE mapping du composite-element est fait dans le fichier de mapping de la table Actors...
Pour mettre à jour la valeur de right (changer sa valeur par une autre valeur "newRight) j'ai fait ceci:
.....
Set lesDroits = getActorById(actor.getActorId()).getRights();
Iterator iterator = lesDroits.iterator();
while (iterator.hasNext()) {
TerritoryActorField taf = (TerritoryActorField) iterator.next();
if (taf.getField().getFieldId().equals(field.getFieldId())
&& taf.getTerritory().getTerritoryId().equals(
territory.getTerritoryId())) {
taf.setRight(newRight);
updateActor(actor);
}
}
...
Mais ca ne marche (ca ne change pas la valeur de right).
Est ce que vous avez une idee?
Merci
|