spring boot mongodb repository:当数据库中有资本数据时,自定义方法不工作,为什么?但小情况下它工作

dxxyhpgq  于 2022-10-30  发布在  Spring
关注(0)|答案(1)|浏览(114)
@Repository
public interface Repository extends MongoRepository<Patient, String> {

//  Search Methods

    List<Patient> findByFirstname(String firstName);

    List<Patient> findByLastname(String lastName);

    List<Patient> findByEmail(String email);

    List<Patient> findByPincode(String pincode);

    List<Patient> findByContactnumber(String contactDetails);

    List<Patient> findByCity(String city);

}

我已经创建了一个自定义的查找方法,但是当FirstName是-〉Subham或SUBHAM时,这个方法不起作用,但是当FirstName是Subham时,它起作用。你能帮助解决这个问题吗?
小写字母每次都有效,但大写字母无效。

y4ekin9u

y4ekin9u1#

不知道关于MongoRepository,但我们得到了同样的问题,解决方案是:

import org.springframework.data.mongodb.core.query.*;

Criteria criteria = Criteria.where("firstName").is(firstName);
Collation collation = Collation.of(Locale.ENGLISH).strength(Collation.ComparisonLevel.secondary());
Query query = new Query(criteria).collation(collation);
return mongoTemplate.findOne(query, Patient.class);

相关问题