【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);

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。