Spring Data neo4j 2.2.0.RELEASE および Spring Framework 3.2.0.RELEASE で neo4j 1.8.2 Advanced を使用しています。多くのカスタム クエリを使用しています。クエリは、リポジトリ インターフェイスで @Query アノテーションを使用して定義されます。
テストを書いているときに、クエリの 1 つで問題が発生しました。私たちが知る限り、クエリが存在しない開始ノードを使用すると、neo4j は をスローし、NotFoundException
これが に変換されますDataRetrievalFailureException
。
しかし、私たちのクエリでは、例外はInvalidDataAccessResourceUsageException
通常、クエリが正しくないことを示す代わりに に変換されます。InvalidDataAccessResourceUsageException
クエリは問題ないように見えるので、がスローされる理由がわかりません。既存の開始ノードでテストすると、クエリは期待される結果を返します。
クエリ:
START person = node({0})
MATCH person -[attributeRel:ATTRIBUTE]-> attribute -[:ATTRIBUTE_CATEGORY]-> category
WHERE attributeRel.value! <> 'N' AND attributeRel.value! <> 'Unbekannt/nicht bewertet'
RETURN category, COLLECT(attribute), COLLECT(attributeRel)
ORDER BY category.name"
これは Spring Data neo4j のバグですか、それともクエリが間違っているのでしょうか、それとも例外タイプが正しいのでしょうか?なぜそれがスローされるのか理解できません。