【问题标题】:Filters in Spring Data Neo4j 4Spring Data Neo4j 4 中的过滤器
【发布时间】:2016-10-07 14:20:35
【问题描述】:

我正在尝试在 Spring Data Neo4j 4 中使用 Neo4jOperations。

过滤器可以在 Neo4jOperations 中用于从 NodeEntity 检索数据。 例如。我有一个案例,电影中有“角色”的演员。现在,Actor 和 Movie 是 NodeEntity,roles 是 RelationshipEntity。如果我使用过滤器查询电影的标题,它会显示相关的详细信息。

我想查询表单中的详细信息-“在电影'云图'中找到有关系(任何关系)的演员。”我无法找到使用过滤器来解决此问题的方法。

过滤器可让您指定诸如键值对之类的内容。我可以将键值指定为“roles.movi​​es.title”并查询结果吗?

这样试了,还是不行。

不想使用自定义查询,因为我们希望保持查询通用,以便它可以容纳很多用例。附加自定义查询意味着它只能解决特定情况。

【问题讨论】:

  • 很抱歉挖掘了这个旧线程......但是你有没有为这种动态过滤查询找到可靠的解决方案?

标签: spring-data-neo4j-4


【解决方案1】:

可以实现自己的FilterFunction,但是,为此使用自定义查询要简单得多。示例:

@Query("MATCH (a:Actor)-[]-(n:Movie {name: "Cloud Atlas"}) return n")
public List<Actor> findActorsRelatedToCloudAtlas()

【讨论】:

  • 不想使用自定义查询,因为我们希望保持查询通用,以便它可以容纳很多用例。附加自定义查询意味着它只能解决特定情况。
  • 澄清:执行您所要求的操作目前不支持 rerived finder。
  • 据您所知,还有其他方法可以实现这一目标吗?自定义查询除外?
  • 您也可以使用答案中所述的 FilterFunction 。派生查找器中没有特殊支持。
  • 在自定义查询中不应该是'return a'吗?你想要的是演员,而不是电影。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-20
  • 2015-05-31
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
  • 1970-01-01
相关资源
最近更新 更多