jpa @query 不认识IFNULL的解决办法

心血来潮想学习下jpa,然后我就发现我已经站在凉了的边缘:各种坑爹的语法让我生不如死!!!!

 

比如我一个简单的查询:需求是查询业务员的佣金,sql语句如下:

一点问题没有;

然后转换成jpa语法:

   @Query(value = "select new map(t.orderNum,(select m.username from MembersPO m where" +
                " m.id = t.member_id)as username,\n" +
                " t.sumFinalPrice, IFNULL((select item.benfit from ItemPO item where " +
                "item.id = mi.item_id)*sum(mi.buyFinalPrice),0) \n" +
                "\tas\tcommission ,t.createTime as createTime)\n" +
                " from PurchaseOrderPO t , PurchaseOrderItemPO mi \n" +
                " where mi.purchaseOrderId = t.id\n" +
                "\n" +
                " and t.sendStatus = 1\n" +
                "\tGROUP BY mi.purchaseOrderId \n" +
                "\n" +
                " order by t.id desc ",
                countQuery = "select count(t.orderNum) from PurchaseOrderPO t, PurchaseOrderItemPO mi "  +
                " where mi.purchaseOrderId = t.id\n" +
                        " and t.sendStatus = 1\n" +
                        "\tGROUP BY mi.purchaseOrderId \n"

然后悲剧来了:

 

 

各种百度,找不到答案,谷歌一把,在https://stackoverflow.com/questions/27329843/how-to-use-isnull-in-jpa

找到答案了

 

改完后程序启动正常!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值