Hibernate for循環save() 問題

public void saveCompanyFollow(Supplies as_supplies, String as_followIds,Company as_company) throws Exception {
		if (as_followIds.equals("")|| as_followIds==null) {
			throw new Exception("跟進人不能為空:"+this.getClass().getName()+":save()");
		}else{
			//刪除之前所有跟進人
			List<CompanyFollow> companyFollowList = this.getCompanyFollow(as_supplies);
			for (CompanyFollow companyFollow : companyFollowList) {
				this.delete(companyFollow);
			}
			//重新添加
			String followIdsArray[] = as_followIds.split(",");
			for (String string : followIdsArray) {
				CompanyFollow cf = new CompanyFollow();
				User u = userServiceImpl.get(string);
				cf.setCompanyId(as_supplies.getId());
				cf.setFollowId(string);
				Set<Department> depSet = u.getDepartment();
				if (depSet.size()>1) {
					for (Department department : depSet) {
						if(as_company.getDepartments().contains(department)){
							cf.setGroupId(department.getId());
						}
					}
				}else{
					for (Department department : depSet) {
						cf.setGroupId(department.getId());
					}
				}
				this.save(cf);
				this.flush();  //加上這個就可以了
			}
		}
	}

for循環運行完後查看表,記錄只有一條,加上 this.flush(); //加上這個就可以了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值