如果只有一个字段需要它,如何在界面中使用 ignorecase

how to use ignorecase in interface if only one field requires it

我有一个 class 'City',它的第一个元素是字符串 city_name,第二个元素是它的国家,它是 Country 对象的成员,即

public static class City {
        @Id
        private String id;
        private String city;
        @DBRef
        private Country country;
}

我创建了一个 MongoDB 接口来实现 MongoRepository class,如下所示:

public interface CityRepository extends MongoRepository<City, String>{

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

当我尝试 运行 时,我得到一个错误,编译器需要一个字符串而不是国家 class。我知道我不想在国家/地区上应用 IgnoreCase,而只想在城市名称上应用;但是我如何创建我的功能来实现这一目标?

这是不同的口味:-

仅忽略城市的大小写:-

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

// Enabling ignoring case for an individual property List findByLastnameIgnoreCase(String lastname);
// Enabling ignoring case for all suitable properties List findByLastnameAndFirstnameAllIgnoreCase(String lastname, String firstname);