jpa条件は空に条件をつけて検索しないです。


spring boot JPAを使ってrepositoryを書く時パラメータは空です。
@Query(value = "select * from mw_user where is_identification = 1 and is_inter_identification = 1  and if(?1 !='',mobile=?1,1=1) and if(?2 !='',nick=?2,1=1)",nativeQuery = true)
List findBySearch(String mobile,String nick);

原生sqlを利用する 追加 ifの方式でパラメータが空であることを確認条件としません。
 
@Query(value = "select * from mw_user where is_identification = 1 and is_inter_identification = 1  and if(?1 !='',mobile=?1,1=1) and if(?2 !='',nick  LIKE CONCAT('%',?2,'%'),1=1)",nativeQuery = true)
List findBySearchTotal(String mobile,String nick);
@Query(value = "select count(1) from mw_user where mw_user.is_identification='1' and mw_user.is_inter_identification='1' and if(?1 !='',mobile=1?,1=1) and if(?2 !='',nick LIKE CONCAT('%',?2,'%'),1=1)",nativeQuery = true)
Long findBySearchTotalCount(String mobile,String nick);
likeクエリ