Hibernate 原生native sql支持 返回列名

来源:互联网 发布:手机首选网络怎么设置 编辑:程序博客网 时间:2024/06/05 09:27

今天在写一个action的时候发现,hibernate的原生的sql的查询的支持的确不太满足我的需求,特别的现在的hibernate5.2.6版本,其中去除掉了很多原生查询的支持,特别是setResultTransformer()方式的过时,使得我需要获取到sql返回的值带列名的需求化为泡影。

可喜的是hibernate5.2.6的版本中该setResultTransformer()方法虽然标记为过时,但是依然可用。使得我可以直接通过setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP),返回带有列名的map对象。

具体方法如下:

public List<Map> getSql(String sql) throws Exception {   NativeQuery query =  this.sessionFactory.getCurrentSession().createNativeQuery(sql);   query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);    return query.getResultList();}


query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
原创粉丝点击