gpt4 book ai didi

java - 如何解决 Spring data neo4j 4 在添加新关系时删除以前的关系的问题?

转载 作者:行者123 更新时间:2023-12-02 04:23:25 25 4
gpt4 key购买 nike

我正在使用 SDN4,并面临着添加新的不同关系时先前的关系被删除的问题。这是我的场景,

第 1 步使用关系实体创建具有某些关系的节点。保存关系实体。

步骤 2使用 Spring Repository 和 Cypher 根据某些属性获取节点并添加新的不同关系。这是我的获取 API:

@Component("productRepository")
public interface ProductRepository extends GraphRepository<Product>{
@Query("MATCH (c:Product {uuid:{0}}) RETURN c")
Product findByUuid(String uuid);
}

保存关系实体

执行此操作后,步骤 1 中添加的关系将丢失,但步骤 2 中的关系仍然存在。

在进行一些调试时,我可以看到使用 Cypher 和 Spring Repository 获取返回的 Node 实体的关系实体为 null 值。

注意:如果我不执行步骤 2,则步骤 1 中的关系会正确反射(reflect)。

如果我遗漏了某些内容或者这是一个问题,有人可以告诉我吗?在这种情况下,我没有找到指定深度的方法,除非这是密码中的某个地方。

最佳答案

不支持@Query 上的深度参数。此时您可以选择 -

a.要将 @Query 返回的产品重新加载到您需要的深度,请使用存储库 findOne(id,深度) 或 Neo4jTemplate.load(type,id,深度)

b.如果您可以将 @Query 转换为一组 org.neo4j.ogm.cypher.Filter,那么您可以使用接受 Filter 和深度的 Session.loadAll 方法。 MusicIntegrationTest包含几个过滤器示例。

关于java - 如何解决 Spring data neo4j 4 在添加新关系时删除以前的关系的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32484452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com