Закрытое заявление после сохранения - PullRequest
0 голосов
/ 05 июля 2018

Я использую Spring boot с Jpa Repository. Я сохраняю некоторые записи в цикле, и после того, как все записи были сохранены, печатается исключение ниже.

java.sql.SQLRecoverableException: Instrução Fechada в oracle.jdbc.driver.OracleClosedStatement.getMaxRows (OracleClosedStatement.java:3578) ~ [ojdbc6-11.2.0.3.jar: 11.2.0.3.0] в oracle.jdbc.driver.OracleStatementWrapper.getMaxRows (OracleStatementWrapper.java:150) ~ [ojdbc6-11.2.0.3.jar: 11.2.0.3.0] в com.zaxxer.hikari.pool.HikariProxyPreparedStatement.getMaxRows (HikariProxyPreparedStatement.java) [HikariCP-2.7.8.jar: na] в org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.close (ResourceRegistryStandardImpl.java:165) [hibernate-core-5.2.16.Final.jar: 5.2.16.Final] в org.hibernate.resource.jdbc.internal.ResourceRegistryStandardImpl.releaseResources (ResourceRegistryStandardImpl.java:307) [hibernate-core-5.2.16.Final.jar: 5.2.16.Final]

вот мой код:

    @Transactional
public void resgatarPremios(List<ResgatePremio> resgates) {

    if(resgates != null && !resgates.isEmpty()) {
        Vendedor vendedor = vendedorRepository.buscarRca(resgates.get(0).getCodigoVendedor());

        for(ResgatePremio resgatePremio : resgates) {

            Premio premio = premioRepository.findById(resgatePremio.getCodigoPremio()).get();
            resgatePremio.setCodigoVendedor(vendedor.getCodigo());
            resgatePremioRepository.save(resgatePremio);

            MovimentacaoContaCorrentePontos movimentacaoContaCorrentePontos = new MovimentacaoContaCorrentePontos();
            movimentacaoContaCorrentePontos.setCodigoContaCorrentePontos(1L);
            movimentacaoContaCorrentePontos.setDataHoraMovimentacao(LocalDateTime.now());
            movimentacaoContaCorrentePontos.setCodigoVendedor(vendedor.getCodigo());
            movimentacaoContaCorrentePontos.setQuantidadePontosMovimentada(resgatePremio.getQuantidade() * premio.getQuantidadePontos() * -1);
            movimentacaoContaCorrentePontosRepository.save(movimentacaoContaCorrentePontos);
        }
    }

}

1 Ответ

0 голосов
/ 05 июля 2018

Решено.

Я изменил версию ojdbc6 для драйвера oracle на ojdbc7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...