Hibernate的setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)

[html]  view plain copy
 
  1. String sql"select name,age,sex from student";  
  2. SQLQuery query = session.createSQLQuery(sql);   
  3.   
  4. query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);  
  5.   
  6. List list =query.list();    
  7.   
  8. for(int i=0;i<list.size();i++){  
  9. Map m = (Map)list.get(i);  
  10. System.out.println("  name :"+m.get("NAME"));//此处注意大写问题,oracle数据库查询出来的表列名为大写,此处必须与查询出的列名完全一样  
  11.   
  12. System.out.println("  age:"+m.get("AGE"));  
  13.   
  14. System.out.println("  sex :"+m.get("SEX"));  
  15. }  


以上一段代码 可以取代传统的 用Object数组去强转list的方法,也省去了用序列的取值方法,省时省力。这样即便查询几十个字段,程序员也可以按照字段名来取出相应的值,和老方法做一下对比:

 

 

 

[html]  view plain copy
 
  1. String sql"select name,age,sex from student";  
  2. SQLQuery query = session.createSQLQuery(sql);   
  3.   
  4. List list =query.list();    
  5.   
  6. for(int i=0;i<list.size();i++){  
  7. Object[] m = (Object[])list.get(i);  
  8. System.out.println("  name :"+m[0]);  
  9.   
  10. System.out.println("  age:"+m[1]);  
  11.   
  12. System.out.println("  sex :"+m.[2]);  
  13.   
  14. //如果此处有100个字段, 累死你丫的 ,查串了一个就哭去吧 ╮(╯▽╰)╭  
  15. }  

转自:http://blog.csdn.net/zsy5606666/article/details/9065677

 

 

你可能感兴趣的:(Hibernate)