这条消息告诉我,当它在数据库中进行插入并且不提供任何错误时,只会给出此警告消息。
Advertencia:类RepeatableWriteUnitOfWork已经刷新了。查询将在不进行进一步更改的情况下执行。如果查询以更改的数据为条件,则更改可能不会反映在结果中。用户应在完成相关更改后和此flush()之前发出flush()调用,以确保正确的结果。
NclDocumento documento = null;
try {
NclTipoDocumento tipo = findTipoDocumentoById(tipoD.getValue());
if (numero != null && numero != 0 && anioSelected != null) {
documento = findAcuerdoByNumeroAndAnioAndTipoDocumento(numero, anioSelected, tipo);
if (documento != null) {
return new Response<>(documento, ResponseStatus.OK_INSERT);
}
}
if (documento == null) {
documento = new NclDocumento();
documento.setNumero(122);
documento.setAnio(2014);
documento.setFechaEmision(new Date());
documento.setIdTipoDocumento(em.find(NclTipoDocumento.class,1));
if (firma != null && firma.getEmpleado() != null) {
documento.setIdFirma(firma.getEmpleado());
}
documento.setFechaCreacion(new Date());
documento.setUsuarioCreacion(usuarioLogueado);
documento.setActivo(true);
}
em.persist(documento);
em.flush();
return new Response<>(documento, ResponseStatus.OK_INSERT);
} catch (ConstraintViolationException ex) {
String validationError = getConstraintViolationExceptionAsString(ex);
log.error(validationError);
context.setRollbackOnly();
return new Response<>(ResponseStatus.ERROR_PARAMS, "Sucedio un error con la información: " + validationError);
} catch (Exception ex) {
processException(ex);
context.setRollbackOnly();
return new Response<>(ResponseStatus.ERROR, "Sucedio un error: " + ex.getMessage());
}