JPQL Like Case Insensitive

前端 未结 4 1769
醉梦人生
醉梦人生 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:33

    You can use the concat operator:

    @Query("select u from User u where lower(u.name) like lower(concat('%', ?1,'%'))")
    public List findByNameFree(String name);
    

    or with a named parameter:

    @Query("select u from User u where lower(u.name) like lower(concat('%', :nameToFind,'%'))")
    public List findByNameFree(@Param("nameToFind") String name);
    

    (Tested with Spring Boot 1.4.3)

提交回复
热议问题