Spring boot 保存后关闭语句

Spring boot 保存后关闭语句,spring-boot,spring-data-jpa,Spring Boot,Spring Data Jpa,我正在使用SpringBoot和Jpa存储库。我将一些记录保存在一个循环中,保存完所有记录后,将打印下面的异常 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.Orac

我正在使用SpringBoot和Jpa存储库。我将一些记录保存在一个循环中,保存完所有记录后,将打印下面的异常

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

}
@Transactional
公共无效重新登记(列出重新登记门){
if(resgates!=null&&!resgates.isEmpty()){
Vendedor Vendedor=VendedOrepository.buscarca(resgates.get(0.getCodigoVendedor());
用于(ResgatePremio ResgatePremio:resgates){
Premio Premio=premioRepository.findById(resgatePremio.getCodigoPremio()).get();
resgatePremio.setcodigovendor(vendedor.getCodigo());
resgatePremioRepository.save(resgatePremio);
MOVIMENTACAOCONTACORENTEPONTOS MOVIMENTACAOCONTACORENTEPONTOS=新MOVIMENTACAOCONTACORENTEPONTOS();
动结缔组织。动结缔组织(1L);
setDataHoraMovimentacao(LocalDateTime.now());
movimentacaoContaCorrentePontos.setcodigovendor(vendedor.getCodigo());
movimentacaoContaCorrentePontos.setQuantidadePontosMovimentada(resgatePremio.getQuantidade()*premio.getQuantidadePontos()*-1);
movimentacaoContaCorrentePontosRepository.save(movimentacaoContaCorrentePontos);
}
}
}
已解决

我将oracle驱动程序版本的ojdbc6更改为ojdbc7