Hibernate直接执行原生SQL

来源:互联网 发布:linux杀java进程 编辑:程序博客网 时间:2024/06/06 02:43

使用ssh框架开发,发现经常需要用到一些复杂的查询需求,就需要在hibernate下执行原生sql。

例子如下所示:

public List getList(final String sql) {return hibernateTemplate.execute(new HibernateCallback() {@Overridepublic Object doInHibernate(Session session)throws HibernateException, SQLException {Query query = session.createSQLQuery(sql);//设定结果结果集中的每个对象为Map类型 query.setResultTransformer(CriteriaSpecification.ALIAS_TO_ENTITY_MAP);return query.list();}});}
ps:sql必须写成final的,要不然会报错。

0 0