Hibernate的setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)

记录一下,免得忘了。

默认用Qurey查出来的结果为Object[]格式,该方法可以把查询字段名作为key,是结果转为Map格式,方便根据对应key取值。

  1. Query query = getSession().createSQLQuery(sql);  
  2. List result = query.list();//默认查询出来的list里存放的是一个Object数组   
  3. for (Object[] objects : result) {   
  4.     String message_id = objects[0].toString();  
  5.     String app_id = objects[1].toString();  
  6.     System.out.println(message_id+","+app_id);  
  7. }  

查回来的值是Object,需要遍历才能取值。

  1. Query query = getSession().createSQLQuery(sql);  
  2.  query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); // 这样子返回Map  
  3. List result = query.list();  
  4. for (Object object : result) {  
  5.     Map obj = (Map) object;  
  6.     String message_id = obj.get("message_id").toString();  
  7.     String app_id = obj.get("app_id").toString();  
  8.     System.out.println(message_id+","+app_id);  
  9.  } 
这里返回Map,可以根据key取值,比较灵活,key值为查询字段的字段名

你可能感兴趣的:(Hibernate的setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP))