@Query("SELECT SUM(misaka.power) FROM Misaka misaka WHERE misaka.id>?1")
Long getSumPowerByIdGreatThan(long id);
但是这样如果misaka.id>?1没有符合条件的记录的话,就会返回空指针,有时候希望没有符合条件的记录返回0即可,在mysql中,可以用ifnull函数改写为
SELECT IFNULL(SUM(power),0) FROM t_misaka WHERE id> 30000
但是JPQL里并没有IFNULL,如果强行编译就会报错,解决方案就是替换为coalesce方法:
@Query("SELECT COALESCE(SUM(misaka.power),0) FROM Misaka misaka WHERE misaka.id>?1")
Long getSumPowerByIdGreatThan(long id);
这样就可以了。
2016年9月8日14:51:57:
是不是改成long也可以了。