Запрос без учета регистра с Spring CrudRepository


с запросом Spring CrudRepository; я хочу выбрать объекты "DeviceType" с его свойством "name". Но после запроса выберите права на чувствительный к регистру способ. Как я делаю это нечувствительным к регистру способом. Спасибо.

public interface DeviceTypeRepository extends CrudRepository<DeviceType, Integer>, JpaSpecificationExecutor<DeviceType> {

    public Iterable<DeviceType> findByNameContaining(String name);

}  
3 60

3 ответа:

точно так же, как @Peter упомянул в комментарии, просто добавьте IgnoreCase:

public interface DeviceTypeRepository 
    extends CrudRepository<DeviceType, Integer>, JpaSpecificationExecutor<DeviceType> {

    public Iterable<DeviceType> findByNameContainingIgnoreCase(String name);
}  

посмотреть документация для получения списка всех поддерживаемых ключевых слов в имени метода.

следующий весенний запрос данных mongo работает для меня. Я бы предпочел использовать List вместо Iterator

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

В моем случае при добавлении IgnoreCase не работает вообще.

я обнаружил, что можно предоставить параметры для регулярного выражения ,а также:

@Query(value = "{'title': {$regex : ?0, $options: 'i'}}")
Foo findByTitleRegex(String regexString);

The делает запрос нечувствительным к регистру.