Java 使用IgnoreCase进行Spring数据MongoDB查询的MongoQueryCreator的NullPointerException
我已经使用SpringBootStarterDataMongoDB从SpringDataMongoDB查询创建了一个NullPointerException的演示 在使用IgnoreCase的MongoRepository上调用spring jpa方法时抛出NPE,并传入null。从链接的代码: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
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谢谢你的建设性评论,它对你的影响真的很好。