隐藏页面特效

hibernate原生sql分页

HQL:

hibernate不支持select子查询,from子查询,on关键字

碰上这三类情况,

方案一:原生sql。用了,踩坑走完了。所以有了这篇随笔。

方案二:虚拟实体。还没用过

 

hibernate原生sql问题:

entityManager.createNativeQuery;
原生SQL查询完后,结果集问题:
1. 指定entity。那就返回那个实体
2. 不指定,多行多列返回List<Object[]>,多行单列返回List<Obect>
以为这就完了?不,这才刚开始
分页查询时,从第二页开始,只要list的size>0。返回结果集内就会多个ROWNUM_的属性。不注意这个属性,直接强转Object,就会直接挂!
这时,map,万能的神
hibernate可能在5.2版本后,从unwrap,从SQLQuery.class换成了NativeQueryImpl.class,这时就有了该表达式
query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP);

ok,令结果集返回map了。map的key都是大写。可能原生sql入库转sql就是自动转大写了。没看源码前,谁也不知道。以后有条件记得翻翻这块源码是不是转大写了
解析map返回吧。

另外,有需要可以map转vo对象。

__EOF__

本文作者九五挥了挥手
本文链接https://www.cnblogs.com/louis95/p/17309241.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   九五挥了挥手  阅读(130)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示