首页 > 解决方案 > jpa sprind 数据找不到 db 数据

问题描述

下午好,我有以下代码,其中,在执行存储库的 findOne 时,它​​设置对象的当前值,而不是数据库中的那个,我这样做是为了将当前值与历史值进行比较,但由于某种原因,它总是给我带来当前的,就好像它在缓存中一样:

CuentaDetalle detOld = findOne(cuentaDetalle.getId());
        ////// Tengo qeu validar que si antes estab en dolares o pesos y se cambio ese tilde, descontar de uno y pasar al otro
        if (cuentaDetalle.getPedido().isDolar() != detOld.getPedido().isDolar()) {
            if (cuentaDetalle.getPedido().isDolar()) {
                cuentaDetalle.getCuenta().setDebeDolar(cuentaDetalle.getCuenta().getDebeDolar() + cuentaDetalle.getMonto());
                cuentaDetalle.getCuenta().setHaberDolar(cuentaDetalle.getCuenta().getHaberDolar() + cuentaDetalle.getMontoPago());
                cuentaDetalle.getCuenta().setDebe(cuentaDetalle.getCuenta().getDebe() - detOld.getMonto());
                cuentaDetalle.getCuenta().setHaber(cuentaDetalle.getCuenta().getHaber() - detOld.getMontoPago());
            } else {
                cuentaDetalle.getCuenta().setDebe(cuentaDetalle.getCuenta().getDebe() + cuentaDetalle.getMonto());
                cuentaDetalle.getCuenta().setHaber(cuentaDetalle.getCuenta().getHaber() + cuentaDetalle.getMontoPago());
                cuentaDetalle.getCuenta().setDebeDolar(cuentaDetalle.getCuenta().getDebeDolar() - detOld.getMonto());
                cuentaDetalle.getCuenta().setHaberDolar(cuentaDetalle.getCuenta().getHaberDolar() - detOld.getMontoPago());
            }
        } else {
            if (cuentaDetalle.getPedido().isDolar()) {
                cuentaDetalle.getCuenta().setDebeDolar(cuentaDetalle.getCuenta().getDebeDolar() + (cuentaDetalle.getMonto() - detOld.getMonto()));
                cuentaDetalle.getCuenta().setHaberDolar(cuentaDetalle.getCuenta().getHaberDolar() + (cuentaDetalle.getMontoPago() - detOld.getMontoPago()));
            } else {
                cuentaDetalle.getCuenta().setDebe(cuentaDetalle.getCuenta().getDebe() + (cuentaDetalle.getMonto() - detOld.getMonto()));
                cuentaDetalle.getCuenta().setHaber(cuentaDetalle.getCuenta().getHaber() + (cuentaDetalle.getMontoPago() - detOld.getMontoPago()));
            }
        }

标签: spring-boothibernatespring-data-jpa

解决方案


推荐阅读