【问题标题】:NullPointerException from MongoQueryCreator with Spring Data MongoDB query using IgnoreCase来自 MongoQueryCreator 的 NullPointerException 与 Spring Data MongoDB 查询使用 IgnoreCase
【发布时间】:2017-06-23 21:07:03
【问题描述】:

我使用 spring-boot-starter-data-mongodb here 从 Spring Data MongoDB 查询创建了 NullPointerException 的演示。

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

repository.findByFirstNameIgnoreCase(null);

将抛出 NullPointerException,其中

repository.findByFirstName(null);

返回空值。

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

额外的问题,如果这不是设计使然,我该如何帮助解决这个问题?我可以在 Spring JIRA 上提出这个问题吗?

编辑:已确认问题,ticket being worked on

【问题讨论】:

  • Spring-Data-MongoDB 不使用 JPA API
  • @Neil 感谢您的建设性评论,它对您的反映非常好。

标签: java spring mongodb spring-data-mongodb


【解决方案1】:

PR fixing the issue in Spring Data MongoDB merged

解决方法可能是

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

在修复发布之前防止出现 null 情况。

【讨论】:

    猜你喜欢
    • 2017-03-14
    • 2016-09-30
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多