Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Hibernate - nested transactions not supported

Prezado(a)s,

Ao executar a seguinte linha do código abaixo:

-->> sesion.beginTransaction().commit();

a seguinte menssagem de erro aparece no servidor e os dados não são gravados: "nested transactions not supported" Alguém sabe o que eu estou fazendo de errado?

Obrigado, Alexandre

@Override
    public boolean create(Usuario usuario) {
       boolean flag;
       Session sesion = HibernateUtil.getSessionFactory().openSession();
       try {                   
          sesion.beginTransaction();
          sesion.save(usuario);
          sesion.beginTransaction().commit();
          flag = true;
       } catch (HibernateException e) { 
            flag = false; 
            sesion.beginTransaction().rollback();
            throw new ServiceException("Erro Criar Usuario: ",e);
       }

       return flag;
    }

Meu arquivo HibernateUtil

public class HibernateUtil {
    private static final SessionFactory sessionFactory;

    static {
            try {
                Configuration cfg = new Configuration().configure("hibernate.cfg.xml");         
                StandardServiceRegistryBuilder sb = new StandardServiceRegistryBuilder();
                sb.applySettings(cfg.getProperties());
                StandardServiceRegistry standardServiceRegistry = sb.build();                   
                sessionFactory = cfg.buildSessionFactory(standardServiceRegistry);              
            } catch (Throwable th) {
                    System.err.println("Enitial SessionFactory creation failed" + th);
                    throw new ExceptionInInitializerError(th);
            }
    }
    public static SessionFactory getSessionFactory() {
            return sessionFactory;
    }
}
2 respostas
solução!

Oi Alexandre,

substitui

sesion.beginTransaction().commit();

por

sesion.getTransaction().commit();

abs

Quebrei tanto a cabeça e a solução era tão simples.

Quem sabe, sabe...

Muito obrigado Nico. Resolvido.