Pessoal,
Estou com problema quando utilizo o commit de um DAO em JPA.
O código-fonte de um método responsável por atualizar os registros segue abaixo
public boolean atualizarParametro(Parametro p) {
try {
pDao.begin();
Parametro param = this.findParametro(p);
if(param != null){
pDao.merge(p);
pDao.commit();
return true;
}
return false;
}catch(Exception e) {
return false;
}
finally {
pDao.close();
}
}
Quando o método acima é chamado no bean, em tempo de debugging, o if do método commit() abaixo ( que pertence a uma classe GenericDao) não funciona.
Ele acusa que a Transação não está ativa
Acontece, porém, que este mesmo commit funciona sem problemas em outros CRUDS da mesma aplicação.
public void commit() {
if (getManager().getTransaction().isActive()) {
getManager().getTransaction().commit();
}
}
O que será que pode estar causando este problema ?
Agradece,
Max Carvalho