Hibernate

作者: 蓝Renly | 来源:发表于2019-04-21 20:31 被阅读0次

    前几天,领导交给我一个bug,让我解决.
    恩...............

    第一天

    跟了一天的代码,没发现原因!!!

    第二天

    没办法,去看代码提交记录....
    发现有人在相关业务添加了新的字段.于是去该字段所在的定义好了的bean类中去查看.第一次,未发现啥异常.

    第三天

    坑啊!找到了原因,原来新加大的字段在其本模块调用没问题,但在另一个模块批量配置便出现问题!于是去找两处业务的逻辑差别.发现本业务该字段无论如何都会赋值.而bug处业务并不包含该字段赋值操作,那么也就是说该字段值是null.但是null的情况为何会导致全部无法配置呢?

    问题找到了.真的是坑.
    原来bug处该段业务sql是使用hibernate,通过传参内部拼接sql.所以,进入框架查看,发现底层参数是用过StringBuilder拼接而成!
    但是!!!当StringBuilder拼接的字符串如果有null值的话(也就是append(null))会导致整个stringBuilder值为null!!!!!!!!!!!!!1
    啊啊啊啊啊啊啊啊啊啊啊,苍天啊!
    这些框架啊.还是完整的写写sql好啊!
    所以,很多框架考虑的也是不全啊.
    那么,还有谁可以信任呢?

    相关文章

      网友评论

          本文标题:Hibernate

          本文链接:https://www.haomeiwen.com/subject/idtsgqtx.html