customer = // get customer from the current hibernate session
// customer has a discount with database id of 1
Tout va bien jusqu'à ici. Mais si je l'appelle:Hibernate Immutable Valeur Objet
discount = SpecialDiscount.create("10%");
customer.setDiscountTo(discount);
session.save(customer);
// customer has a discount with database id of 2 now
Comment veille prolongée peut mettre à jour la même ligne avec réduction id de 2 même je l'ai établi à un autre objet de valeur de réduction? En outre, je veux empêcher les erreurs "un objet avec la même identité existe déjà" en détachant la précédente. Que suggérez-vous?
// An entity
class Customer {
// one-to-one mapped immutable value object
SpecialDiscount discount;
SpecialDiscount discount() {
return SpecialDiscount.create(this.discount);
}
void setDiscountTo(SpecialDiscount discount) {
this.discount = SpecialDiscount.create(discount);
}
}
Quand êtes-vous « un objet avec la même identité existe déjà » erreur? – Mark