MongoQueryCreator的NullPointerException与使用IgnoreCase的Spring Data MongoDB查询

时间:2017-02-06 19:44:53

标签: java spring mongodb spring-data-mongodb

我使用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

1 个答案:

答案 0 :(得分:0)

PR fixing the issue in Spring Data MongoDB merged

解决方法可能是

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

在发布修复程序之前防止出现空案例。