refresh() lance une erreur
bonjour tous
pour ajouter une nouvelle chaine(instance de la classe Chaine) dans la bd j'utilise le code suivant:
Code:
1 2 3 4 5 6 7 8 9
|
SessionFactory factory = new Configuration().configure().buildSessionFactory();
Session session = factory.openSession();
session.beginTransaction();
Chaine chaine=new Chaine();
chaine.setNomChaine("ChaineX");
session.save(chaine);
session.getTransaction().commit();
factory.close(); |
l'ajout se passe bien mais une fois je rajoute l'instruction suivante:
session.refresh(chaine); après la ligne chaine.setNomChaine("ChaineX");
j'obtiens l'erreur suivant:
Code:
1 2 3 4 5 6 7 8 9
|
Exception in thread "main" org.hibernate.UnresolvableObjectException: No row with the given identifier exists: [hibernate.classes_de_persistance.Chaine#0]
at org.hibernate.UnresolvableObjectException.throwIfNull(UnresolvableObjectException.java:42)
at org.hibernate.event.def.DefaultRefreshEventListener.onRefresh(DefaultRefreshEventListener.java:126)
at org.hibernate.event.def.DefaultRefreshEventListener.onRefresh(DefaultRefreshEventListener.java:39)
at org.hibernate.impl.SessionImpl.fireRefresh(SessionImpl.java:902)
at org.hibernate.impl.SessionImpl.refresh(SessionImpl.java:886)
at hibernate.classes_DAO.GestionChaines.ajouterChaine(GestionChaines.java:24)
at hibernate.classes_DAO.Test.main(Test.java:11) |
ou se trouve le problème?