Case insensitive Query with Spring CrudRepository Case insensitive Query with Spring CrudRepository spring spring

Case insensitive Query with Spring CrudRepository


Exactly as @Peter mentioned in the comment, just add IgnoreCase:

public interface DeviceTypeRepository     extends CrudRepository<DeviceType, Integer>, JpaSpecificationExecutor<DeviceType> {    public Iterable<DeviceType> findByNameContainingIgnoreCase(String name);}  

See documentation for a list of all supported keywords inside method names.


The following Spring data mongo query works for me. I would prefer to use List instead of Iterator

public interface DeviceTypeRepository extends CrudRepository<DeviceType,Integer>, JpaSpecificationExecutor<DeviceType> {    List<DeviceType> findByNameIgnoreCase(String name);} 


For those who uses custom JPA query Upper keyword and toUpperCase helps. The following code works for me

 return  entityManager.createQuery("select q from "table " q  where upper(q.applicant)=:applicant")    .setParameter("applicant",applicant.toUpperCase().trim()).getSingleResult();