Java 使用IgnoreCase进行Spring数据MongoDB查询的MongoQueryCreator的NullPointerException

Java 使用IgnoreCase进行Spring数据MongoDB查询的MongoQueryCreator的NullPointerException,java,spring,mongodb,spring-data-mongodb,Java,Spring,Mongodb,Spring Data Mongodb,我已经使用SpringBootStarterDataMongoDB从SpringDataMongoDB查询创建了一个NullPointerException的演示 在使用IgnoreCase的MongoRepository上调用spring jpa方法时抛出NPE,并传入null。从链接的代码: repository.findByFirstNameIgnoreCase(null); 将抛出NullPointerException,其中 repository.findByFirstName(nu

我已经使用SpringBootStarterDataMongoDB从SpringDataMongoDB查询创建了一个NullPointerException的演示

在使用IgnoreCase的MongoRepository上调用spring jpa方法时抛出NPE,并传入null。从链接的代码:

repository.findByFirstNameIgnoreCase(null);
将抛出NullPointerException,其中

repository.findByFirstName(null);
返回null

那么,在使用MongoRepository时,如果我不能(轻松地)保证非空参数,如何进行不区分大小写的搜索呢

还有一个问题,如果这不是出于设计,我如何帮助解决这个问题?我能在春天的时候把这个拿出来吗

编辑:已确认的问题,

解决办法可能是

repository.findByFirstNameIgnoreCase(nonNull(arg) ? arg : "");
在释放修复程序之前防止出现空情况。

解决办法可能是

repository.findByFirstNameIgnoreCase(nonNull(arg) ? arg : "");

在修复程序发布之前防止出现空情况。

Spring Data MongoDB不使用JPAAPI@Neil感谢您的建设性评论,它对您的影响非常好。Spring-Data-MongoDB不使用JPAAPI@Neil谢谢你的建设性评论,它对你的影响真的很好。