我正在尝试使用带有hibernate的saveOrUpdateAll()在db中插入集合对象。然后我得到UncategorizedSQLException)

时间:2015-08-18 05:57:02

标签: java hibernate

billSubmissionBean.setMasterProviderId(String.valueOf(masterProvider.getMasterProviderId()));
        masterBill.setMasterProvider(masterProvider);
        masterBill.setTransactionType(transactionType);
        billSubmissionDao.save(masterBill, MasterBill.class);

        BillSubmission billSubmission = getBillSubmissionFromBean(billSubmissionBean, user);
        billSubmission.setMasterBill(masterBill);
        billSubmission.setBillSubmissionNumber(masterBill.getBillSubmissionNumber());
        billSubmission.setMasterProviderId(masterProvider.getMasterProviderId());
        billSubmission.setTransactionType(transactionType);

        billSubmission.setApiFlg(Boolean.TRUE);
        if(StringUtils.strToBoolean(billSubmissionBean.getGenerateBillDocument())) {
            billSubmission.setBillDocumentFlg(Boolean.TRUE);
        }
        billSubmissionDao.save(billSubmission, BillSubmission.class);

        List<BillingServiceBean> billingServicesList = billSubmissionBean.getServices();
        if(billingServicesList != null) {
            List<BillService> billServicesList = new ArrayList<BillService>();
            for (BillingServiceBean billServiceBean : billingServicesList) {
                BillService billService = getBillServiceFromBillServiceBean(billServiceBean, user, billSubmissionBean.getGenerateBillDocument());
                billService.setBillSubmission(billSubmission);
                billServicesList.add(billService);
            }
            log.info("Bill services size : " + billServicesList.size());
            if(billingServicesList.size() > 0) {
                billSubmissionDao.saveOrUpdateAll(billServicesList); 

// **在这个位置**

  

org.springframework.jdbc.UncategorizedSQLException:Hibernate   刷新:无法插入:[gov.nysif.model.BillService];   未分类SQL的SQLException [插入nysif.bill_service   (bill_submission_id,service_place,service_procedure,   service_modifiers,dx_pointer,service_days,billed_amount,   service_ndc,service_ndc_qty,anesthesia_start,anesthesia_end,   revenue_code,dos_from_dt,dos_to_dt,created_dt,created_user,   modified_dt,modified_user,non_covered_charges,bill_service_id)   值(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)];   SQL状态[55000];错误代码[0];本声明已经结束。   嵌套异常是org.postgresql.util.PSQLException:这个语句   已被关闭。 }}

1 个答案:

答案 0 :(得分:0)

如果查看异常,可以看到org.postgresql.util.PSQLException: This statement has been closed.例外。

我猜你的连接在出现时有点不活跃而且它会被关闭。尝试调整这些值。例如minimumIdle 和/或connectionTimeout

或者可能是因为你的transactionType是什么意味着billSubmissionDao.save(billSubmission, BillSubmission.class);的第一次调用关闭了事务,而对billSubmissionDao.saveOrUpdateAll(billServicesList);的调用没有活动事务,它会抛出这个错误。