-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: [Stratégie?] Deux instances du même objet, sans erreurs?
PostPosted: Fri Sep 09, 2005 5:35 pm 
Newbie

Joined: Sat Jul 30, 2005 12:57 pm
Posts: 6
Une petite question qui me pose des problèmes actuellement.

Je suis sur une application avec deux bases de données.
La première, locale, est gérée grâce à Hibernate (version 3.0.5). La seconde, distance (un site web) est accédée par des Statement et Connection classiques.

Pour envoyer un objet vers la base, j'utilise donc les méthodes save/update de Hibernate, et le Statement.
Si un erreur arrive sur l'une des deux transactions, j'attrappe l'exception et j'annule les deux transactions. J'ai donc du faire un système de rollback manuel. En effet, impossible de faire un rollback sur une transaction terminée, quand l'autre ne fonctionne pas.

Pour faire ce rollback, je dois donc, en cas de mise à jour d'un objet, sortir de la base la version précédante non modifiée, enregistrer la nouvelle et, en cas de problème, renvoyer la version précédante.

C'est là qu'est le problème: Hibernate me dit, avec raison, qu'il existe deux versions différentes du même objet et je ne peux pas sauvegarder l'objet modifié.
L'erreur exacte est: "a different
object with the same identifier value was already associated with the
session"

Savez-vous comment je pourrais arranger ça?
Peut-on "sortir" un objet de la surveillance de hibernate?

J'ai essayé de mettre null à la place de l'id, en imaginant que Hibernate, utilisant l'id comme façon de départager deux objets (via equals() ), arriverait à la conclusion que les deux objets sont différents, mais ça ne semble pas marcher.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 10, 2005 12:38 am 
Pro
Pro

Joined: Fri Sep 02, 2005 4:21 am
Posts: 206
Location: Vienna
seb.ch wrote:
Peut-on "sortir" un objet de la surveillance de hibernate?

On fait cela avec la méthode evict de l'interface Session.

Erik


Top
 Profile  
 
 Post subject:
PostPosted: Sat Sep 10, 2005 3:52 am 
Newbie

Joined: Sat Jul 30, 2005 12:57 pm
Posts: 6
Génial, ça marche à merveille, merci! :-)


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.