hibernate的Could not execute JDBC batch update错误原因及处理

最近在web开发过程中遇到了一个错误困扰了我两天,Could not execute JDBC batch update,在进行数据库中表的更新时 总是报这个异常,网上说是不能进行批量更新,可是我的表命名就可以啊,这个问题一直困扰我,并且下面异常的Caused by:报的空指针,可是我的数据明明传了进去,这就让我更疑惑了。后来经过我无数次的搜索之后终于知道了错误我的代码

session.put("mid",model.getMid());
        introduceService.delete(model.getMid());
     
        signService.delete(model.getMid());
       
        matchService.delete(model.getMid());

因为我同时进行了三个删除操作,这在数据库的操作中涉及到事务的操作,在上一个操作完成后但是还没提交,如果到下一个操作如果出现故障,事务就会出现异常,所以才会包那个错误,不能批量操作,并不是数据库表的问题,所以遇到这种情况只需要把上面的代码改为

session.put("mid",model.getMid());
        introduceService.delete(model.getMid());
        hibernateTemplate.flush();
        signService.delete(model.getMid());
        hibernateTemplate.flush();
        matchService.delete(model.getMid());在每个操作之间加一条  hibernateTemplate.flush();语句就可以了  hibernateTemplate.flush();语句的错误就是在你进行往一个操作后提交(相当于commit)

这也是我自己研究的,现在分享一下,希望可以帮到大家

你可能感兴趣的:(hibernate的Could not execute JDBC batch update错误原因及处理)