【Hibernate】无外键多表查询

无外键多表查询时编写hql,直接使用逗号分隔表,where作为联合查询条件进行查询。
查询出来的结果可为两种,List<List<Object>>或者List<Map<String,Object>>。
这时候需要使用下面语句限定查询返回结果类型。

//List<Map<String,Object>>
Query query = getSessionFactory().openSession().createHQLQuery(queryString).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);

List<Map<String,Object>> tmp = query.list();

Map<String,Object> result = tmp.get(0);

String str = result.get('1');

 

//List<List<Object>>
Query query = getSessionFactory().openSession().createHQLQuery(queryString).setResultTransformer(Transformers.TO_LIST);

List<List<Object>> tmp = query.list();

List<Object> result = tmp.get(0);

String str = result.get(1);

 

posted @ 2014-10-14 01:54  tidyko  阅读(473)  评论(0编辑  收藏  举报