parameter로 받고 있는 name이나 email이 null이 아닐 경우에만 검색하게 된다. 검색 시 카테고리별, 지역별 등등의 필터를 적용해야 할 때 유용하게 활용했다.
@Query("SELECT c FROM Customer c WHERE (:name is null or c.name = :name) and (:email is null"
+ " or c.email = :email)")
List<Customer> findCustomerByNameAndEmail(@Param("name") String name, @Param("email") String email);