Z zapytaniem Spring CrudRepository; Chcę wybrać jednostki „DeviceType” z ich właściwością „name”. Ale następujące zapytanie wybierz uprawnienia z uwzględnieniem wielkości liter. Jak sprawiam, że wielkość liter jest niewrażliwa. Dzięki.
public interface DeviceTypeRepository extends CrudRepository<DeviceType, Integer>, JpaSpecificationExecutor<DeviceType> {
public Iterable<DeviceType> findByNameContaining(String name);
}
spring
spring-data-jpa
Channa
źródło
źródło
public Iterable<DeviceType> findByNameIgnoreCaseContaining(String name);
?Odpowiedzi:
Dokładnie tak, jak @Peter wspomniał w komentarzu, wystarczy dodać
IgnoreCase
:Zobacz dokumentację, aby uzyskać listę wszystkich obsługiwanych słów kluczowych w nazwach metod.
źródło
IgnoreCase
to w ten sposób:List<Account> findByUsernameIgnoreCaseAndDomainIgnoreCase(String username, String domain);
Następujące zapytanie Spring Data Mongo działa dla mnie. Wolałbym użyć
List
zamiastIterator
źródło
W moim przypadku dodawanie w
IgnoreCase
ogóle nie działało.Okazało się, że możliwe jest również podanie opcji dla wyrażenia regularnego:
Ta
i
opcja sprawia, że wielkość liter w zapytaniu nie jest uwzględniana.źródło
Dla tych, którzy używają niestandardowego zapytania JPA, pomaga słowo kluczowe Upper i toUpperCase . Poniższy kod działa dla mnie
źródło