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语句. 

版权声明:本文为chuningning原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chuningning/p/9121968.html