dé-synchronisation objet / table
Bonjour,
je commence à passer une application web standard(jdbc) en hibernate3 et je suis confronté à un problème de dé-synchonisation entre les objets et les articles de la table .
Je mets à jour un attribut d'objet avec le code suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
try
{
Type typ = TypeDAO.instance.findType(id);
typ.setLibTyp(valeur);
TypeDAO.instance.saveOrUpdate(typ);
}
catch (Exception e)
{
e.getMessage();
} |
Or la valeur dépasse la taille du champ Oracle, j'ai donc le message Oracle d'erreur correspondant .
L'objet affiché par l'application est , lui, quand même modifié , la table Oracle non .
code de TypeDAO:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public Object saveOrUpdate(Object obj) throws Exception
{
Session s = HibernateUtil.currentSession();
Transaction tx = null;
try
{
tx = s.beginTransaction();
s.saveOrUpdate(obj);
tx.commit();
}
catch (Exception e)
{
if (tx != null)
{
System.out.println("saveOrUpdate.rollback");
tx.rollback();
}
throw e;
}
return obj;
} |
Je pensais que la synchronisation était automatique . A moins que je l'utilise mal ,ce qui est bien possible .
Je passe bien sur le rollback, j'ai un message pour le vérifier .
Si quelqu'un a une idée, merci d'avance .
Barny