利用hibernate 执行删除操作的异常问题

来源:互联网 发布:矩阵论导教导学导考 编辑:程序博客网 时间:2024/06/07 14:22

@Override
public void deleteObjectByCollection(Collection<T> collection) {

this.getHibernateTemplate().deleteAll(collection);


}

代码如上,当我利用hibernate执行删除一个list集合的操作时,数据库不会发出任何delete语句,但是在测试的时候却能成功删除数据

如下图:


public void testDeleteAll(){
    String keyword = "性别";
    ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
    ElecSystemDDLDao elecSystemDDLDao  = (ElecSystemDDLDao) ctx.getBean("elecSystemDDLDao");
    List<ElecSystemDDL> list = elecSystemDDLDao.findAllElecSystemDDLByKeyword(keyword);
elecSystemDDLDao.deleteObjectByCollection(list);
}

这个问题折磨了我好久,百思不得其解。


于是在我头疼难耐之际,上了谷歌,看到网友提供的一个解决方案,如下图


public void deleteObjectByCollection(Collection<T> collection) {

this.getHibernateTemplate().deleteAll(collection);
this.getHibernateTemplate().flush();

}

具体原因应该是flush起到了一个刷新缓存的作用。。。

1 0
原创粉丝点击