2

我有两个实体:用户和连接,以及两个适当的存储库。两个实体都有@GraphId id字段。连接实体具有User user字段。

在 ConnectionRepository 接口中,我添加了以下方法:

List<Connection> findByUserId(long userId)

但它不起作用。它会生成不正确的密码查询。我认为它不正确,因为它包含这样的子句:

WHERE user.id = 15

这是行不通的,因为id不是财产。一定是:

WHERE id(user) = 15

这是一个错误吗?无论如何,我怎样才能让它工作?

4

1 回答 1

3

派生查询转换为id定义userConnection. 节点实体很可能也包含用户管理的id属性,假设它id始终是节点 ID 是不正确的。

在这种情况下,您可能想要使用 a@Query代替。

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