Boa tarde,
Tenho uma tabela na base de dados que tem uma de suas colunas sendo alterada via trigger de base durante a inserção. Logo após efetuar o PERSIST da entity ou o MERGE o valor atualizado na base via trigger não está visivel no objeto. Alguém sabe o que pode ser ? Veja o meu DAO
/*Grava o objeto no banco.*/
public AsChamado save(AsChamado asChamado) {
try {
/* Instancia objetos */
this.setAsChamadoList(null);
em = FactoryConnection.getEntityManager();
em.getTransaction().begin();
em.persist(asChamado);
asChamado = em.merge(asChamado);
em.refresh(asChamado);
em.flush();
em.getTransaction().commit();
return asChamado;
} catch (Exception ex) {
MessageUtility.addMensage(ex.getMessage(), "N");
return asChamado;
} finally {
FactoryConnection.closeEm();
}
}
Reparem que coloquei o metodo flush , refresh , todos na tentativa de forçar a atualização. Na base o campo tem valor, mas no JSF ele está nulo.
Obrigado.