hibernate用setResultTransformer转换
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate用setResultTransformer转换相关的知识,希望对你有一定的参考价值。
当你用hibernate查出数据,但是类型不是原来的类型怎么办,新增的实体类还可以用,query.setResultTransformer(Transformers.aliasToBean(AA.class));这种形式可以解决查出来的数据不能使用的问题.
String sql = "select USER_ID,USERNAME from test where USER_ID= :id"; Query query = getCurrentSession().createSQLQuery(sql);//.addScalar("MODULE_ID", LongType.INSTANCE); query.setBigDecimal("id", new BigDecimal("1")); query.setResultTransformer(Transformers.aliasToBean(UserEntity.class)); List<UserEntity> list=null; list=query.list(); return list;
注意:
(1)这种转换实体类很严格,必须连属性名字要和数据库字段高度一致(注解此时没很大作用用.
(2)实体类可以比表字段少一些字段.
以上是关于hibernate用setResultTransformer转换的主要内容,如果未能解决你的问题,请参考以下文章
hibernate里‘query’和‘ Criteria’分别啥时候用