hibernate QBC 多表查询结果集,类型

来源:互联网 发布:seo外包公司小周 编辑:程序博客网 时间:2024/06/16 04:17
hibernate QBC 多表查询结果集,类型,
 结果集有多少条记录返回的list的size就是多少,
list 中每个元素都是一个object[]数组.数组的大小就是查询表的个数.
DetachedCriteria criteria = DetachedCriteria.forClass(
                    TSysUser.class).createAlias("orgUserRoles", "userrole")
                    .createAlias("userrole.orgRole", "role");
            criteria.add(Restrictions.eq("department.id", shopId));
            criteria.add(Restrictions.eq("role.name", CASHIER));

            Pagin pagin = satisfactionSurveyBean.getPagin();
            pagin.setDetachedCriteria(criteria);
            List list = investigatonResultsDAO.findByPagin(pagin);

            List result = new ArrayList();
            
            for (Object obj : list) {
                Object[] user = (Object[]) obj;
                for (Object o : user) {
                    try {
                        if (o.getClass().isAssignableFrom(
                                Class.forName("com.dadi.crm.model.TSysUser"))) {
                            result.add(o);
                        }
                    } catch (ClassNotFoundException e) {
                        e.printStackTrace();
                    }
                }
            }