hql执行update行为时可能遇到的一个问题。

今天工作中遇到的问题:

执行hql语句“update event set money = money + 100 ”,

老是不能达到效果。

原来是因为数据库中的money为null以致不能进行增加的运算。

如果是在sql语句中可以这么写:

“update event set money = isnull(money,0) + 100”,

即先把为空的money转为0再进行运算。

但是在hql中找不到这个函数,

所以一直没找到很好的解决的办法。

于是我只好在执行这条hql语句之前,

先执行这么一条语句:

“update event set money = 0 where money is null”.

如此,就可以达到所要的效果了。

原文地址:https://www.cnblogs.com/chaohi/p/2330410.html