JPQL Like Case Insensitive

前端 未结 4 1765
醉梦人生
醉梦人生 2020-12-06 09:00

I want to search data in User table by name case insensitive.

@Repository
public interface UserRepository extends JpaRepository {

  @Query         


        
4条回答
  •  庸人自扰
    2020-12-06 09:30

    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.

提交回复
热议问题