关于hql查询,返回结果的list数组的问题

好记忆不如敲键盘!

听说hibernate有两大查询方式hql(hibernate query language)和QBC(query by Criteria),据说前者相对来说更加灵活与强大。于是小白的我开始了踩雷之旅.我使用的是hibernate5.3

问题:

写好了查询的hql语句后,用list<其他类型> datalist = currentSession.creatQuery("select xxx from xxx“).list()来接收查询成功的返回结果,当想转换list集合中的元素类型时候,会报类型转换错误(object不能转换为其他类型)!

解决:

在网上搜索了许多资料,发现原来list()方法返回的是 object[] 类型 和 相应的实体类类型还有其他类型。
看见网上前辈写解决办法还不错,

String hql="select u.name,u.age from User u";
        //创建HQL查询
        Query q= session.createQuery(hql);
        List list=q.list();
        for (int i = 0; i < list.size(); i++) {
            Object[] os=list.get(i);
            System.out.println("用户名是:"+os[0]+"年龄是:"+os[1]);
        }

转自:[https://www.cnblogs.com/quchengfeng/p/4111749.html]

感谢前辈们及同行的浏览,欢迎提出批评与建议!

闻道有先后,术业有专攻!

你可能感兴趣的:(hibernate)