I want to search data in User table by name case insensitive.
@Repository
public interface UserRepository extends JpaRepository {
@Query
I am using Spring Boot 2.1.6, You can define query methods using Containing, Contains, and IsContaining as below:
List findByNameContaining(String name);
List findByNameContains(String name);
List findByNameIsContaining(String name);
Case Insensitivity:
List findByNameContainingIgnoreCase(String name);
OR you can also define as below as well:
@Query("select u from User u where lower(u.name) like lower(concat('%', :name,'%'))")
public List findByName(@Param("name") String name);
The @Param annotation is important here because we're using a named parameter.