事务提交了么?打印SQL看看对不对.

解决方案 »

  1.   

    又是一个没有提交事务的问题,解决办法:
    1 提交事务
    2 保存操作后面写session.flush()
      

  2.   

    有时候就算sql打印出来了也插不进去
    肯定是事务没处理好
    把问题描述详细点比较好找错哦
      

  3.   

    只要session.commmit();
    就可以了
    因为commit方法就是先flush再commit!
      

  4.   

    就是不抛异常,好的,我把代码提出来:if (bankResults.get(0).getResult() == 1) 
                { // 消账成功
    log.debug(">>charge finish+bankResult.getResult()=" + bankResults.get(0).getResult());
    record.setSystem("BSN");
    record.setReturncode("success");
    record.setTradefinishdate(new Date());
    record.setTradestate(new Integer("5"));
    record.setPayserialnbr(new Long(bankResults.get(0).getPaySerialNbr()).toString());
    PropertyConfigurator.configure(this.getClass().getResource("/").getPath()
    + "log4j-bsn-charge-update.properties");
    Log bsnUpdateLogger = LogFactory.getLog(this.getClass());
    try 
                    {
    syNetpayTraderecordsDao.update(record);
                        //syNetpayTraderecordsDao.flush();
    bsnUpdateLogger.info(record.getTradeno() + ":更新成功");
    bsnUpdateLogger.info(bankResults.get(0));
    } catch (Exception e) 
                    {
    bsnUpdateLogger.info(e.getMessage());
    } finally {
    PropertyConfigurator.configure(this.getClass().getResource("/").getPath() + "log4j.properties");
    } // 明细表
    for (BsnBankChargeResult bankResult : bankResults) {
    log.debug("更新返回明细表");
    TisyNetpayTraderecorddz recordeddz = new TisyNetpayTraderecorddz(); recordeddz.setCycleid(new Integer(bankResult.getCycleId()).toString());
    recordeddz.setItemclass(bankResult.getItemClass());
    recordeddz.setTotalfee(MoneyConvert.IntToDouble(bankResult.getServiceCharge()));
    recordeddz.setBalance(MoneyConvert.IntToDouble(bankResult.getBalance()));
    recordeddz.setPrepay(MoneyConvert.IntToDouble(bankResult.getPrePay()));
    recordeddz.setRecfee(MoneyConvert.IntToDouble(bankResult.getOldServiceCharge()));
    recordeddz.setTradeno(record.getTradeno()); syNetpayTraderecorddzDao.create(recordeddz);
    }
    }
    已经获取到"更新成功"这个信息了,但数据库没有记录.