2

User と Connection の 2 つのエンティティと、2 つの適切なリポジトリがあります。両方のエンティティに@GraphId idフィールドがあります。接続エンティティにはUser userフィールドがあります。

ConnectionRepository インターフェイスに、次のメソッドを追加しました。

List<Connection> findByUserId(long userId)

しかし、うまくいきません。不正な暗号クエリが生成されます。次のような句が含まれているため、間違っていると思います。

WHERE user.id = 15

idプロパティではないため、機能していません。それは違いない:

WHERE id(user) = 15

これはバグですか?いずれにせよ、どうすればそれを機能させることができますか?

4

1 に答える 1

3

派生クエリは、 で定義された のプロパティiduser変換されますConnection。ノード エンティティにユーザー管理プロパティも含まれている可能性は十分にあり、それが常にノード IDidであると想定するのは正しくありません。id

この場合、@Query代わりに a を使用することをお勧めします。

@Query("MATCH (user:label) WHERE ID(user)={0} return user")
List<Connection> findByUserId(long userId)
于 2015-08-26T03:19:51.183 に答える