首页 > 代码库 > hibernate用setResultTransformer转换

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转换