HibernateTemplate根据hql批量删除

    public void clearAll(final String hql) {
        this.getHibernateTemplate().execute(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException, SQLException {
                Query query = session.createQuery(hql);
                query.executeUpdate();
                return null;
            }
        });
    }

HibernateTemplate的delete方法并不支持hql语句,查看HibernateTemplate方法发现了一个execute方法,要实例一个HibernateCallback接口。 
由于spring封装hibernate后的HibernateTemplate灵活性不足,所以我们可以通过HibernateCallback接口来使用hibernate的方式来执行hql语句. 

posted @ 2018-06-01 15:42  褚牛牛  阅读(753)  评论(0编辑  收藏  举报