Amigos,
Estou com um problema em minha aplicação. Em determinados momentos que tento cadastrar ou atualizar algum objeto no banco, ocorre o erro do Hibernate - “Two Open Sessions”.
Nós utilizamos aqui um framework desenvolvido pela propria empresa que já tem a implementação de metodos de inserção e atualização. Então eu não sei se o codigo do framework pode estar errado ou se eu que estou errando em algum ponto específico. Vou colocar abaixo o trecho com os métodos do framework:
public void save(Entity entity){
Session session = HibernateStaticSessionFactory.getCurrentSession();
HibernateStaticSessionFactory.beginTransaction();
try {
session.save(entity);
session.flush();
if(isLocalScope()){
HibernateStaticSessionFactory.commit();
}
} catch (Exception ex){
HibernateStaticSessionFactory.rollback();
throw new DAOException("Falha ao salvar objeto.", ex);
}
}
public void update(Entity entity){
Session session = HibernateStaticSessionFactory.getCurrentSession();
HibernateStaticSessionFactory.beginTransaction();
try {
session.flush();
session.clear();
session.update(entity);
if(isLocalScope()){
HibernateStaticSessionFactory.commit();
}
} catch (Exception ex){
HibernateStaticSessionFactory.rollback();
throw new DAOException("Falha ao atualizar objeto.", ex);
}
}
Esses métodos estão corretos? alguem tem ideia do que pode estar ocorrendo?