我使用spring-boot-starter-data-mongodb here从Spring Data MongoDB查询创建了一个NullPointerException演示。
在使用IgnoreCase并传入null的MongoRepository上调用spring jpa方法时抛出NPE。来自链接代码:
repository.findByFirstNameIgnoreCase(null);
将抛出NullPointerException,其中为
repository.findByFirstName(null);
返回null。
那么,在使用MongoRepository时我怎么能进行不区分大小写的搜索呢?我不能(轻松)保证非空参数?
奖金问题,如果这不是设计,我该如何帮助解决这个问题?我可以在Spring JIRA上提出这个吗?
编辑:确认问题,ticket being worked on
答案 0 :(得分:0)
PR fixing the issue in Spring Data MongoDB merged
解决方法可能是
repository.findByFirstNameIgnoreCase(nonNull(arg) ? arg : "");
在发布修复程序之前防止出现空案例。