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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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