Как использовать ignorecase в интерфейсе, если этого требует только одно поле
У меня есть класс 'City', который имеет первый элемент в виде String city_name и второй элемент в качестве своей страны, которая является членом объекта Country, т.е.
public static class City {
@Id
private String id;
private String city;
@DBRef
private Country country;
}
Я создал интерфейс MongoDB, который реализует класс MongoRepository, как показано ниже:
public interface CityRepository extends MongoRepository<City, String>{
List <City> findByCityAndCountryIgnoreCase(String city, Country country);
}
Когда я пытаюсь выполнить это, я получаю сообщение об ошибке, что компилятор ожидает String вместо класса Country. Я понимаю, что не хочу применять IgnoreCase для страны, а только для названия города; но как мне создать свою функцию для достижения этой цели?
1 ответ
Вот разные вкусы:-
Игнорировать случай только для города:-
List <City> findByCityIgnoreCaseAndCountry (String city, Country country);
Игнорировать случай только для страны:-
List <City> findByCityAndCountryIgnoreCase (String city, Country country);
Для города и страны, т.е. для всех объектов недвижимости:
List <City> findByCityAndCountryAllIgnoreCase (String city, Country country);
Spring Data Mongo игнорируется
// Включение игнорирования регистра для отдельного свойства List findByLastnameIgnoreCase (String lastname);
// Включение игнорирования регистра для всех подходящих свойств. List findByLastnameAndFirstnameAllIgnoreCase(String lastname, String firstname);