为了账号安全,请及时绑定邮箱和手机立即绑定

spring-data-jpa如何处理null

spring-data-jpa如何处理null

PHP
慕森王 2019-02-28 14:37:11
@Query("FROM TABLE_1 WHERE FIEDL1=:f1 and FIELD2=:f2) public Bean findByIndex(@Param('f1') String field1,@Param('f2')String field2);这样的写法,当field1或者field2为空的时候,它拼出的sql是FIELD=null,并不正确。查到stackoverflow有这样一种方式,query语句改为(FROM TABLE_A WHERE (:f1 is null or FIELD=:f1) and (:f2 is null or FIELD2=:f2)),这种方式可以正确得到结果,但是这种方法生成的语句查看执行计划并不能用到索引。另一种方法是直接改方法名,变为findByField1AndField2。这种方法是正确的,但是我真实的参数比较多,方法名称会太长,无法使用。有什么办法,当field1为空的时候,它自动生成FIELD1 is null。
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

用JPA Criteria API可以做到,不过比较麻烦。

查看完整回答
反对 回复 2019-03-15
  • 1 回答
  • 0 关注
  • 360 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信