首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

请教怎么用Hibernate执行原生的sql的delete语句

2012-11-08 
请问如何用Hibernate执行原生的sql的delete语句?由于各种原因,必须用hibernate执行原生的sql语句,不能使用

请问如何用Hibernate执行原生的sql的delete语句?
由于各种原因,必须用hibernate执行原生的sql语句,不能使用hql,请问如何用hibernate执行原生的delete语句呢?

[解决办法]
首先要继承HibernateDaoSupport
然后在重写匿名方法:
如:
public List<Goods> queryByQry(GoodsQryHelper goodsQryHelper) {

log.debug("GoodsDaoImpl:根据查询条件查询物品信息");

final GoodsQryHelper qryObj = goodsQryHelper;
List<Goods> goodsList = getHibernateTemplate().executeFind(
new HibernateCallback() {

@Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {

StringBuffer hqlStr = generalSql(qryObj);

List<Goods> list = new ArrayList<Goods>();
try {
list = session.createQuery(hqlStr.toString())
.list();
} catch (Exception e) {
log.error("GoodsDaoImpl:物品信息获取失败!!!");
throw new DataAccessException("物品信息获取失败!!!", e);
}
return list;
}

});
return goodsList;
}

热点排行