应该如何从 Spring Data Neo4j 6 中删除的 @Depth 注释迁移?
How should one migrate from the removed @Depth annotation in Spring Data Neo4j 6?
自 spring-data-neo4j 6.0 起,删除了查询方法的 @Depth
注释 (DATAGRAPH-1333, commit)。
如何将使用注释的现有 5.3 代码迁移到 6.0? migration guide.
中没有提到它
示例用法,记录在 5.3.6.RELEASE reference:
public interface MovieRepo extends Neo4jRepository<Movie, Long> {
@Depth(1) // Default, load simple properties and its immediately-related objects
Optional<Movie> findById(Long id);
@Depth(0) // Load simple properties only
Optional<Movie> findByProperty1(String property1);
@Depth(2) // Load simple properties, immediately-related objects and their immediately-related objects
Optional<Movie> findByProperty2(String property2);
@Depth(-1) // Load whole relationship graph
Optional<Movie> findByProperty3(String property3);
}
自定义查询是唯一的选择还是有替代品?
SDN 中不再有自定义深度。它要么加载您的 Java 模型中描述的所有内容,要么您必须提供自定义 Cypher 语句。
一些背景:在 SDN 6 中,我们完全放弃了内部会话缓存,因为我们要确保 Java 对象图在加载后与数据库图保持同步。因此,我们无法再跟踪多个操作的自定义深度。
部分加载的图表现在反映了 Java 模型的真实性,并且在持久化时可能会删除现有(但未加载)的关系。
可以在查询创建的文档部分找到一些见解。 https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#query-creation
自 spring-data-neo4j 6.0 起,删除了查询方法的 @Depth
注释 (DATAGRAPH-1333, commit)。
如何将使用注释的现有 5.3 代码迁移到 6.0? migration guide.
中没有提到它示例用法,记录在 5.3.6.RELEASE reference:
public interface MovieRepo extends Neo4jRepository<Movie, Long> {
@Depth(1) // Default, load simple properties and its immediately-related objects
Optional<Movie> findById(Long id);
@Depth(0) // Load simple properties only
Optional<Movie> findByProperty1(String property1);
@Depth(2) // Load simple properties, immediately-related objects and their immediately-related objects
Optional<Movie> findByProperty2(String property2);
@Depth(-1) // Load whole relationship graph
Optional<Movie> findByProperty3(String property3);
}
自定义查询是唯一的选择还是有替代品?
SDN 中不再有自定义深度。它要么加载您的 Java 模型中描述的所有内容,要么您必须提供自定义 Cypher 语句。
一些背景:在 SDN 6 中,我们完全放弃了内部会话缓存,因为我们要确保 Java 对象图在加载后与数据库图保持同步。因此,我们无法再跟踪多个操作的自定义深度。 部分加载的图表现在反映了 Java 模型的真实性,并且在持久化时可能会删除现有(但未加载)的关系。
可以在查询创建的文档部分找到一些见解。 https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#query-creation