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;
}
}