zoukankan      html  css  js  c++  java
  • Hibernate Transformers之三种结果转换说明

    在hibernate使用的过程中,我们通常需要对结果进行解释。Hibernate为我们提供了以下3种查询结果解释方法:

    1. Transformers.ALIAS_TO_ENTITY_MAP //把输出结果转换成map   
    2. Transformers.TO_LIST //把结果按顺序排进List   
    3. Transformers.aliasToBean(target) //把结果通过setter方法注入到指定的对像属性中   

    在Hibernate中Transformers的所有转换都是需要实现ResultTransformer接口。

    ① ALIAS_TO_ENTITY_MAP :太简单了就是把key和value直接转换到Map当中 :

    1. /**  
    2. * {@inheritDoc}  
    3. */   
    4. // aliases key   
    5. // tuple value   
    6.  
    7. public Object transformTuple(Object[] tuple, String[] aliases) {   
    8.     Map result = new HashMap(tuple.length);   
    9.     for ( int i=0; i<tuple.length; i++ ) {   
    10.         String alias = aliases[i];   
    11.      if ( alias!=null ) {   
    12.          result.put( alias, tuple[i] );   
    13.      }   
    14.     } 
    15.  
    16.     return result;   
    17. }  

    ② TO_LIST:转换过程很简单,就是把value转换成List对像:

    1. public Object transformTuple(Object[] tuple, String[] aliases) {   
    2.     return Arrays.asList( tuple );   
    3. }  

    ③ aliasToBean:转换过程就是通过读取查询后的字段,然后通过使用setter方法注入到目标对像中 :

    1. getSession().beginTransaction(); 
    2. Query query = getSession().createSQLQuery("select * from operation"); 
    3. list =query.setResultTransformer(Transformers.aliasToBean(Operation.class)).list(); 
    4. getSession().getTransaction().commit(); 

  • 相关阅读:
    link和@import引入css 区别,不建议使用@import
    centos8常用配置记录
    python获取txt文件中关键字的数量
    U盘装Centos7的异常记录
    Linux下密码安全策略配置
    CPU负载及利用率解析
    curl命令的简单使用(ftp)
    JVM工作原理及参数说明
    grafana使用mysql做数据源
    ZABBIX监控ESXI主机
  • 原文地址:https://www.cnblogs.com/hedongfei/p/7403354.html
Copyright © 2011-2022 走看看