首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为循环保存内部操作

为循环保存内部操作
EN

Stack Overflow用户
提问于 2015-03-31 13:16:13
回答 4查看 2K关注 0票数 0

我在spring +hibernate工作.

我正在为循环做创建操作,但它只执行了一次。这是我的代码样本。

代码语言:javascript
复制
        String[] loanIds = request.getParameterValues("loanId");

loanIds值为5

代码语言:javascript
复制
        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次..。但是表只插入了一次。

有人能在这方面给我建议吗,我在这里做错了什么..

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-03-31 13:19:50

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

代码语言:javascript
复制
 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");
    }
票数 3
EN

Stack Overflow用户

发布于 2015-03-31 13:18:40

我相信您必须为迭代的每个字符串创建一个新的LoanFinance对象。

票数 3
EN

Stack Overflow用户

发布于 2022-07-11 15:16:47

代码语言:javascript
复制
for (String string : loanIds) {  

    loanFinance = new LoanFinance(); // This should be in the loop too.
          
    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");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29369624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档