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)实体类可以比表字段少一些字段.

posted @ 2016-10-05 12:24  ngulc  阅读(12057)  评论(0编辑  收藏  举报