我在spring +hibernate工作.
我正在为循环做创建操作,但它只执行了一次。这是我的代码样本。
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次..。但是表只插入了一次。
有人能在这方面给我建议吗,我在这里做错了什么..
发布于 2015-03-31 13:19:50
您正在一次又一次地保存同一个对象。如果要插入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");
}发布于 2015-03-31 13:18:40
我相信您必须为迭代的每个字符串创建一个新的LoanFinance对象。
发布于 2022-07-11 15:16:47
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");
}https://stackoverflow.com/questions/29369624
复制相似问题