设计注意事项
Neo4j-OGM 在将对象持久化到图中时,尝试最大限度地减少 Cypher 负载。这一点很重要,原因有两点。其一,在客户端‑服务器模式下,每一次网络交互都会产生开销(包括带宽消耗,更主要的是延迟),这会影响应用程序的响应时间。其二,包含冗余操作的请求(例如更新未改变的对象)是多余的,也会产生类似的影响。我们已经从多种方式来解决该问题。
可变深度持久化
您现在可以根据想要操作的图的各部分特性来定制持久化请求。这意味着您可以依据具体约束,对要传输的数据类型和数量进行微调,从而选择更深或更浅的抓取深度。
如果您确信不需要对象的关联对象,可以将 fetch-depth(抓取深度)设为 0,从而不进行抓取。相反,如果您始终希望获取某个人完整的朋友的朋友集合,则可以将深度设置为 2。