JPA查询结果返回Map问题

小肖2015 2016-09-30 05:44:14
问题如贴图所示,我现在的需求是,结果列表既不是Object[]记录,也不是JPQL中new的一个Pojo,我希望select字段影射为一个Map,求教大牛们
...全文
975 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小肖2015 2016-10-07
  • 打赏
  • 举报
回复
需求已经实现,需要把JPA的查询接口拆包为Hibernate的查询实现,然后设置Map结果的返回,测试通过,感谢大家的帮助
String hsql = "select bu.user_name as user_name, bu.nick_name as nick_name, bu.login_password as login_password, bu.hold_position as hold_position, bu.from_entity as fromEntity " +
				"from TmUser bu where bu.hold_position like '%事业部%经理%'";
//创建查询
		org.hibernate.Query query = getEntityManager().unwrap(org.hibernate.Session.class).createQuery(hsql);
		//设置查询参数
		query = (org.hibernate.Query) this.setQueryParams(query, queryParams);
		//获取查询列表
		query.setResultTransformer(org.hibernate.transform.Transformers.ALIAS_TO_ENTITY_MAP);
		return query.list();
小肖2015 2016-10-05
  • 打赏
  • 举报
回复
引用 3 楼 liufandgelang 的回复:
其实很多JPA的底层实现都是支持返回Map对象的。例如:
EclipseLink的query.setHint(QueryHints.RESULT_TYPE, ResultType.Map);
Hibernate的query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)

然后在list<map> list=quey.getResultList();

不好意思,没有故意细看,我是在使用SQL查询时用到了Map返回结果集的,这种做法是测试通过的,而我提到的是JPQL查询query.createQuery(String jpql)

小肖2015 2016-10-05
  • 打赏
  • 举报
回复
引用 3 楼 liufandgelang 的回复:
其实很多JPA的底层实现都是支持返回Map对象的。例如: EclipseLink的query.setHint(QueryHints.RESULT_TYPE, ResultType.Map); Hibernate的query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP) 然后在list<map> list=quey.getResultList();
感谢,点赞
liufangdegudu 2016-09-30
  • 打赏
  • 举报
回复
其实很多JPA的底层实现都是支持返回Map对象的。例如: EclipseLink的query.setHint(QueryHints.RESULT_TYPE, ResultType.Map); Hibernate的query.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP) 然后在list<map> list=quey.getResultList();
小肖2015 2016-09-30
  • 打赏
  • 举报
回复
引用 1 楼 liufandgelang 的回复:
你用的是哪个jpa?hiberater还是eclipselink?
是Hibernate的JPA实现
liufangdegudu 2016-09-30
  • 打赏
  • 举报
回复
你用的是哪个jpa?hiberater还是eclipselink?

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧