jpa中的自动增量误差

时间:2017-12-11 22:05:16

标签: java jpa

这条消息告诉我,当它在数据库中进行插入并且不提供任何错误时,只会给出此警告消息。

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());
    }

0 个答案:

没有答案