hibernate对union查询bug

本文介绍了hibernate在使用union查询时遇到的NPE异常问题。当第一个select语句包含order by...limit并用括号括起时,会导致异常。为解决此bug,可以额外添加一个不包含order by...limit的select语句作为新的第一个select,从而规避问题。文中给出了具体的解决实例。
摘要由CSDN通过智能技术生成

union关键词的介绍

union 是对多个select查询的结果进行组合 以union 连接两个select语句为例
两个select语句单独排序:
union左右的select语句中如果谁有order by ..limit..其必须单独用括号把这个select语句括起来;
两个select语句可以对不同的colName进行升序或者降序, 互不影响 ;
order by colName其后必须要有 limt 9999(否则order总是按升序排),数字可以根据需要取;
后面的select结果集是在前一个select结果集之后。
整体排序 :
order by 必须加在最后一条select的后面;
union 两边的select语句加不加括号都是可以的;
如果有括号,order by..[limit 9999]必须要在括号外面,因为对整体排序;
整体排序中,limit…是可选的。
hibernate的bug

在单独排序中,如果第一个select语句要排序则需要order by..limit,没错吧,
根据规则,还需要用括号括起来, bug coming!!!!

An SQLQuery surrounded by brackets:
sessionFactory.getCu
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值