Jpa组合查询解决条件有无问题

个别项目依赖的简单jpa使用,这种操作数据库方式我觉得交互非常少的,对数据库依赖特别少的可以使用

这次要解决的问题是在单张表中 多条件查询筛选数据:

问题在于有些条件如果字段为空或者是空串将默认没有该筛选条件

所以仍然采用原生sql写法  对传递过来的对象属性分别筛选:

@Query(value ="select * from table1 where  1=(case when address=:#{#query.address} then 1 when  :#{#query.address}='' or :#{#query.address} is null  then 1 else 2  end)  " ,  nativeQuery =true)

Page  selectByQuery(@Param("query")AccountWalletSearchQuery query,@Param("pageable")Pageable pageable);

方法中传递的对象一定要加注解  否则会找不到对应属性

你可能感兴趣的:(Jpa组合查询解决条件有无问题)