spring-boot-startter-data-mongodb hereを使用して、SpringデータMongoDBクエリからNullPointerExceptionのデモンストレーションを作成しました。 IGNORECASEを使用し、nullが渡されMongoRepositoryの春のJPAメソッドを呼び出すときにSpringデータを持つMongoQueryCreatorからのNullPointerException IgnoreCaseを使用したMongoDBクエリ
NPEがスローされるリンクされたコードから:。
repository.findByFirstNameIgnoreCase(null);
どこ
repository.findByFirstName(null);
として、NullPointerExceptionがスローされます
はnullを返します。
MongoRepositoryを使用している場合、Null以外の引数を(簡単に)保証できない場合、どのように大文字小文字を区別しない検索を行うことができますか?
ボーナスに関する質問は、これが仕様ではない場合はどうすれば解決できますか? Spring JIRAでこれを発行できますか?
編集:確認済みの問題、回避策は、修正がリリースされるまで
repository.findByFirstNameIgnoreCase(nonNull(arg) ? arg : "");
がnullの場合を防ぐためにあるかもしれない
Spring-Data-MongoDBはJPA APIを使用していません –
@Neil建設的なコメントをいただき、ありがとうございます。 – Edd