Bom dia, pessoal,
Estou passando por um problema estranho… Tenho um formulário na minha aplicação onde eu cadastro uma pessoa. Eu preencho todos os campos, chamo o metodo cadastrar();, ele é executado sem problemas, o struts exibe a página de sucesso, eu volto até a table com os registros e, de fato, ele está lá, como se tivesse sido gravado.
Mas quando eu vou no banco de dados (postgres), a tabela está vazia. Eu clico no registro e dá erro (claro, ele não foi gravado).
O mais estranho é que as vezes eu consigo salvar os dados normalmente, ou seja, é um problema intermitente.
Alguem já passou por algo parecido?
Eu utilizo um framework proprio da empresa. Todos os metodos estão padronizados. Vou postar o exemplo de um metodo de cadastro e um de exclusao (exclusão também tá dando pau, ele some com o registro do sistema mas ele continua no banco de dados).
public void save(Entity entity){
Session session = factory.getCurrentSession();
factory.beginTransaction();
try {
session.save(entity);
session.flush();
if(isLocalScope()){
factory.commit();
}
} catch (Exception ex){
factory.rollback();
throw new DAOException("Falha ao salvar objeto.", ex);
}
}
public void delete(Entity entity){
Session session = factory.getCurrentSession();
factory.beginTransaction();
try {
session.delete(entity);
session.flush();
if(isLocalScope()){
factory.commit();
}
} catch (Exception ex){
factory.rollback();
throw new DAOException("Falha ao excluir objeto.", ex);
}
}
Eu nao entendi para que serve o metodo isLocalScope, mas ele sempre passa direto. Mesmo não executando o commit, ele custuma gravar os objetos no banco. Se alguem suber o porque, eu agradeceria! 
Valeu pessoal.;