由于普通方法例如 eq(boolean condition, R column, Object val) ,容易让人错误理解,执行完前面的condition就不会再执行后面的 val推算了,但进入方法栈这个值是必须要求出来的.
尝试添加相关惰性求值方法: 例如 eq(boolean condition, R column, Supplier
当h2user对象如果为空的前提下,下面代码会抛出空指针.
userService.query().eq(h2User != null && StringUtils.isNotBlank(h2User.getName()), "name", h2User.getName().trim()).count()
目前支持的惰性操作处理解决空指针问题.
userService.query()
.func(h2User != null && StringUtils.isNotBlank(h2User.getName()), w -> w.eq("name", h2User.getName().trim())).count())
考虑新增方法.写法示例
userService.query().eq(h2User != null && StringUtils.isNotBlank(h2User.getName()), "name", () -> h2User.getName().trim()).count();
userService.lambdaQuery().eq(h2User != null && StringUtils.isNotBlank(h2User.getName()), H2User::getName, () -> h2User.getName().trim()).count()
Comment From: qiuhuanhen
我也想到的这个方法 想提issue发现楼主已经提过了 不太美观但是方法意思不会有歧义
Comment From: code142857
这个issue被关闭了,我看目前也没这个功能,是不会考虑加这个功能吗?