/ / Severe: org.hibernate.TransactionException: transactions imbriquées non prises en charge - hibernate

Severe: org.hibernate.TransactionException: transactions imbriquées non prises en charge - hibernate

Je fais ce tutoriel sur Hibernate: https://netbeans.org/kb/docs/web/hibernate-webapp.html

Mon problème: Une fois les instructions et le projet terminés, le message d'erreur Hibernate s'affiche: "Severe: org.hibernate.TransactionException: transactions imbriquées non prises en charge".

J'ai essayé "tx.commit ();" fermer la transaction mais cela n’a rien changé.

question: pourquoi cela a-t-il fonctionné quand les personnes ayant dirigé le tutoriel ont écrit les instructions mais ne fonctionnent pas maintenant? et comment le faire fonctionner?

Réponses:

1 pour la réponse № 1

changement

    public FilmHelper() {
this.session = HibernateUtil.getSessionFactory().getCurrentSession();
}

à

    public FilmHelper() {
this.session = HibernateUtil.getSessionFactory().openSession();
}

Raison: Le tutoriel utilise Hibernate 3 et maintenant j'utilise Hibernate 4. Dans Hibernate3, une fois la transaction terminée, elle est fermée et la même session est autorisée à ouvrir une nouvelle transaction avec NoProblem. Dans Hibernate4, une fois la transaction terminée, elle est toujours ouverte. si un développeur la ferme, la session se ferme avec elle. Le développeur doit ouvrir manuellement une nouvelle session.

Si quelqu'un en sait plus sur Hibernate et souhaite y ajouter quelque chose, merci de commenter ci-dessous.