hibernate结果集转换器ResultTransformer。基于别名实现(三)

2014-11-24 08:39:19 · 作者: · 浏览: 5
= u.userAccount order by i.dindate desc"; //hql = "select new com.eecn.warehouse.api.model.Address(u.id,u.userAccount,u.userName) from User u"; //hql = "select new com.eecn.warehouse.api.model.AUser(i.sbillno,u) from Inventory i, User u where i.scustomerno = u.userAccount order by i.dindate desc"; Query query = createQuery(hql, values); // HQLQueryPlan hqlQueryPlan = getHqlQueryPlan(hql); // String[] aliases = hqlQueryPlan.getReturnMetadata().getReturnAliases(); // String[] sqls = hqlQueryPlan.getSqlStrings(); if (resultClass != null && hql.indexOf("select new") < 0) { query.setResultTransformer(new AliasedResultTransformer(AUser.class, hql)); } //System.out.println(Arrays.toString(query.getReturnAliases())); List
list = query.list(); if (list == null) { list = Collections.emptyList(); } return list; }