java - 将操作保存在for循环内

标签 java spring hibernate for-loop

我正在 spring mvc + hibernate 工作......

我正在 for 循环内进行创建操作,但它只执行一次。这是我的示例代码。

        String[] loanIds = request.getParameterValues("loanId");

loanIds 值为 5

        for (String string : loanIds) {                 
            loanFinance.setFundingBankId(bankId);
            loanFinance.setIdFundsProductPurpose(Long.valueOf(68449));
            loanFinance.setLoanId(Long.parseLong(string));
            loanFinance.setLastModifiedBy(user.getId());
            loanFinance.setIdEntityloan(Long.parseLong(string));
            loanFinance.setAmount(10000.00);
            loanFinance.setStatus("A"); 

            commonRepository.save(loanFinance);     
            System.out.println("Saved Datas");
        }

在 catalina.out 中,我可以看到“保存的数据”打印了 5 次......但表格只插入了一次。

任何人都可以给我建议,我在这里做错了什么..

最佳答案

您正在一遍又一遍地保存同一个对象。如果要插入 5 个不同的元素,则需要在每次迭代时创建一个新元素。

 for (String string : loanIds) {  
        loanFinance = new LoanFinance();               
        loanFinance.setFundingBankId(bankId);
        loanFinance.setIdFundsProductPurpose(Long.valueOf(68449));
        loanFinance.setLoanId(Long.parseLong(string));
        loanFinance.setLastModifiedBy(user.getId());
        loanFinance.setIdEntityloan(Long.parseLong(string));
        loanFinance.setAmount(10000.00);
        loanFinance.setStatus("A"); 

        commonRepository.save(loanFinance);     
        System.out.println("Saved Datas");
    }

关于java - 将操作保存在for循环内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29369624/

相关文章:

java - 如何使 GridLayout 行不相等

java - 如何将大型 Java 项目分成较小的组件

java - 如何捕获 Firebase Auth 特定异常

java - 为eclipse添加spring资源

java - 动态设置 hibernate 方言

java - 相当于Java中Scala中的summaryStatistics

java - Spring Boot 在使用 uritemplating 时不加载 css

java - Hibernate NamedQuery,设置值

java - Hibernate 的 Projections.countDistinct 会产生意想不到的结果

mysql - 如何使用 spring.jpa.hibernate.ddl-auto