2016-06-27 4 views
0

У меня есть класс «Город», который имеет первый элемент в виде строки CITY_NAME и второй элемент в его стране, которая является членом объекта Страны т.е.как использовать IGNORECASE в интерфейсе, если только одно поле требует

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); 
} 

Когда я пытаюсь запустить это, я получаю сообщение об ошибке, что компилятор ожидает строку вместо класса Country. Я понимаю, что я не хочу применять IgnoreCase по стране, но только по имени города; но как мне создать свою функцию для этого?

+2

findByCityIgnoreCaseAndCountry()? –

+0

Спасибо - это было глупо от меня! :-P –

ответ

0

Вот различные вкусы: -

Игнорировать регистр для города только: -

List <City> findByCityIgnoreCaseAndCountry (String city, Country country); 

игнор дело только для страны: -

List <City> findByCityAndCountryIgnoreCase (String city, Country country); 

Для обоих города и страны, т.е. для всех объектов недвижимости: -

List <City> findByCityAndCountryAllIgnoreCase (String city, Country country); 

Spring Data Mongo Ignore Case

// Включение учета регистра для списка индивидуального имущества findByLastnameIgnoreCase (String LastName);
// Включение игнорирования случая для всех подходящих свойств Список findByLastnameAndFirstnameAllIgnoreCase (String lastname, String firstname);

+0

Спасибо @notionquest –