`

Java中使用hql,sql查询返回的list<Object> 转成需要的实体对象--方法讲解!

 
阅读更多



需要将Query对象setResultTransformer:



List list = session.createSQLQuery(sql).setResultTransformer(

Transformers.ALIAS_TO_ENTITY_MAP).list();

//此时,每个Object可以转换成一个Map

Map map = (Map) list.get(i);

map.get("PARENT_ID");  //这里的key 一定是 数据库对应的字段名才行







例如:





// 查询出数据 

  String hql = "select a.id as emergencyBasExeId,a.LEVEL as level,a.SEND_TIME as sender_time,a.NAME as name,a.CONTENT as content " +

    ",a.PROCESS_ID as processId,m.STATES as states,m.id as id,m.emergencyInfoSecondMgr.id as emergencySencondMgrId " +

    " from EmergencyInfoFirstExe a,  EventManage m where a.deleteFlag = 0 and a.id=m.emergencyInfoFirstExe.id ";

  // 查询出数据list

  List exeList = eventManageDao.notifyHqlPage(hql, pageNumber * pageSize, pageSize);



  // 返回所需要的数据List

  List<EventInfoView> reList = new ArrayList<EventInfoView>();





  //map.get("PARENT_ID");  //这里的key 一定是 数据库对应的字段名才行 

  //对返回List的数据封装 

  for(Object exe : exeList){

   EventInfoView event = new EventInfoView();

   //此时,每个Object可以转换成一个Map 

   Map map=(Map)exe;

   //然后可以使用map.get("属性名");即可取值

   event.setId(map.get("id").toString());

   event.setContent(map.get("content").toString());

   event.setEmergencyBasExeId(map.get("emergencyBasExeId").toString());

   event.setEmergencySencondMgrId(map.get("emergencySencondMgrId").toString());

   event.setEmergencyTitle(map.get("emergencyTitle").toString());

   event.setLevel(map.get("level").toString());

   event.setName(map.get("name").toString());

   event.setProcessId(map.get("processId").toString());

   event.setProcessName(map.get("processName").toString());

   event.setSender_time(map.get("sender_time").toString());

   event.setStates(map.get("states").toString());

   //....

   reList.add(event);

  }

 

分享到:
评论

相关推荐

    hibernate 教程

    使用本地SQL的查询&lt;br&gt;9.4. 更新对象&lt;br&gt;9.4.1. 在同一Session中更新&lt;br&gt;9.4.2. 更新从session脱离的对象&lt;br&gt;9.4.3. 把与Session脱离的对象重新绑定&lt;br&gt;9.5. 删除持久化对象&lt;br&gt;9.6. 同步(Flush)&lt;br&gt;9.7. 结束一...

    hibernate

    使用本地SQL的查询&lt;br&gt;9.4. 更新对象&lt;br&gt;9.4.1. 在同一Session中更新&lt;br&gt;9.4.2. 更新从session脱离的对象&lt;br&gt;9.4.3. 把与Session脱离的对象重新绑定&lt;br&gt;9.5. 删除持久化对象&lt;br&gt;9.6. 同步(Flush)&lt;br&gt;9.7. 结束一...

    JAVA WEB框架,java网站一个模块只用写一个文件

    查询:LinkedList&lt;Object&gt; list = hyberbin.showAll(); 查询结果放在一个链表中了 用的时候用强制类型转换 把Object转换为Szdw就行了。 以在的操作是不是有局限性?删除非要按ID删除?查询的结果不能筛选? 作者...

    jdbc基础和参考

    ORM:使用元数据信息来描述对象和数据库之间的关系,并且能够自动实现java中持久化对象到关系型数据库中表的映射 脏检查:自动对缓存中的数据进行检查,并且选择在合适的时机和数据库之间进行交互,以保持数据的...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    6.3.5. 使用&lt;idbag&gt; 6.4. 集合例子(Collection example) 7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对...

    hibernateのHQL

    Hql与Sql 1、HQL是面向对象的,所以HQL与数据库无关 2、HQL最终也会生成SQL,也就是说 HQL使用范围是&lt;SQL的范围 3、HQL是由query对象获得。 hql sql 面向对象 面向结构(表) 操作的是实体类 ,类属性 表,...

    hibernate3.2中文文档(chm格式)

    6.3.5. 使用&lt;idbag&gt; 6.4. 集合例子(Collection example) 7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对...

    HibernateAPI中文版.chm

    6.3.5. 使用&lt;idbag&gt; 6.4. 集合例子(Collection example) 7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对...

    NHibernate中文帮组文档(2008.11月更新)

    6.7. 使用&lt;idbag&gt; 6.8. 双向关联(Bidirectional associations) 6.9. 三重关联(Ternary associations) 6.10. 异质关联(Heterogeneous Associations) 6.11. 集合例子(Collection example) 7. 组件(Component...

    最全Hibernate 参考文档

    6.3.4. 使用&lt;idbag&gt; 6.4. 集合例子(Collection example) 7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one ...

    Hibernate注释大全收藏

    在特定的实体关联属性上使用 @Embeddable 和 @AttributeOverride 注解可以覆盖该属性对应的嵌入式对象的列映射。 @Entity public class Person implements Serializable { // Persistent component using defaults...

    Hibernate中文详细学习文档

    6.3.5. 使用&lt;idbag&gt; 6.4. 集合例子(Collection example) 7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对...

    ARCH4系统开发指南

    2.2 如何执行HQL查询 11 2.3 如何执行SQL查询 12 2.4 如何使用Mail 12 2.4.1 确保资源文件正确 12 2.4.1.1 确认mail.properties文件设置正确 12 2.4.1.2 确认applicationContext-mail.xml文件设置正确 12 2.4.1.3 ...

    Hibernate+中文文档

    6.3.5. 使用&lt;idbag&gt; 6.4. 集合例子(Collection example) 7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对...

    hibernate3.04中文文档.chm

    7.3.4. 使用&lt;idbag&gt; 7.4. 集合例子(Collection example) 8. 关联关系映射 8.1. 介绍 8.2. 单向关联(Unidirectional associations) 8.2.1. 多对一(many to one) 8.2.2. 一对一(one to one) 8.2.3. 一对...

    NHibernate参考文档 2.0.0 chm

    6.7. 使用&lt;idbag&gt; 6.8. 双向关联(Bidirectional associations) 6.9. 三重关联(Ternary associations) 6.10. 异质关联(Heterogeneous Associations) 6.11. 集合例子(Collection example) 7. 组件(Component...

    Hibernate 中文 html 帮助文档

    6.3.5. 使用&lt;idbag&gt; 6.4. 集合例子(Collection example) 7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one ...

    Hibernate参考文档

    6.3.5. 使用&lt;idbag&gt; 6.4. 集合例子(Collection example) 7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one ...

    Hibernate3+中文参考文档

    6.3.4. 使用&lt;idbag&gt; 6.4. 集合例子(Collection example) 7. 关联关系映射 7.1. 介绍 7.2. 单向关联(Unidirectional associations) 7.2.1. 多对一(many to one) 7.2.2. 一对一(one to one) 7.2.3. 一对多(one ...

    hibernate 框架详解

    使用&lt;idbag&gt; 7.4. 集合例子(Collection example) 8. 关联关系映射 8.1. 介绍 8.2. 单向关联(Unidirectional associations) 8.2.1. 多对一(many to one) 8.2.2. 一对一(one to one) 8.2.3. 一对多...

Global site tag (gtag.js) - Google Analytics