打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Hibernate多表查询结果处理 - 51CTO.COM
  • Hibernate多表查询结果处理

    如果我们在Hibernate中需要查询多个表的不同字段,那么如何来获取Hibernate多表查询的结果呢?有两种方式: 对各个字段分别转化成对应类型;构造自己的复合类型。

    如果我们在Hibernate中需要查询多个表的不同字段,那么如何来获取Hibernate多表查询的结果呢?有两种方式:

    1、 对各个字段分别转化成对应类型,如下:

    Java代码:

            
    1. Query q = session.createQuery(" select members, classInfo.className " +       
    2.     " from Members members, ClassInfo classInfo " +       
    3.     " where members.level = classInfo.classCode ");          
    4. List result = q.list();       
    5. Iterator it = result.iterator();       
    6. while (it.hasNext()) {       
    7.    Object[] tuple = (Object[]) it.next();       
    8.    Members members = (Members) tuple[ 0 ];       
    9.    String className = (String) tuple[ 1 ];       
    10. }     
    11. Query q = session.createQuery
    12. (" select members, classInfo.className " + 
    13. " from Members members, ClassInfo classInfo " + 
    14. " where members.level = classInfo.classCode ");
    15.  List result = q.list(); Iterator it = result.iterator();
    16.  while (it.hasNext()) { Object[] tuple = (Object[]) it.next(); 
    17. Members members = (Members) tuple[ 0 ]; 
    18. String className = (String) tuple[ 1 ]; } 

    这是获取Hibernate多表查询的结果的最常用的方式。

    2、构造自己的复合类型,如下:

    Java代码:

            
    1. Query q = session.createQuery
    2. (" select new NewMembers(members, classInfo.className) " +       
    3.     " from Members members, ClassInfo classInfo " +       
    4.     " where members.level = classInfo.classCode ");     
    5. Query q = session.createQuery
    6. (" select new NewMembers(members, classInfo.className)
    7.  " + " from Members members, ClassInfo classInfo " + 
    8. where members.level = classInfo.classCode ");  

    当然我们需要有一个NewMembers类和相应的构造方式。以上便是两种用于获取Hibernate多表查询的结果的方法以及其相应的代码。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Spring,hibernate,struts常见的面试笔试题汇总
水平切分-分表 Ibatis和Hibernate 数据库分表(动态表名映射)的实现方法
Hibernate中用HQL执行查询
Hibernate 问题,在执行Query session.createQuery(hql) 报错误直接跳到finally
Python学习教程:Python内置函数大总结(下篇)
艺见钟情: datasnap的进阶 TDSServerClass
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服