java—应该如何从SpringDataNeo4J6中删除的@depth注解进行迁移?

kmbjn2e3  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(350)

自spring-data-neo4j 6.0 @Depth 已删除查询方法的注解(datagraph-1333,commit)。
如何将使用注解的现有5.3代码迁移到6.0?《迁移指南》中没有提到这一点。
示例用法,记录在5.3.6.版本参考中:

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);
}

自定义查询是唯一的选择还是有替代方法?

u59ebvdq

u59ebvdq1#

sdn中不再有自定义深度,它要么加载java模型中描述的所有内容,要么必须提供自定义的cypher语句。
一些背景知识:在sdn6中,我们完全删除了内部会话缓存,因为我们希望确保java对象图是在加载并保持与数据库图同步之后。因此,我们无法在多个操作中跟踪自定义深度。部分加载的图现在反映了java模型的真实性,当持久化时可能会删除现有的(但未加载的)关系。
可以在文档部分找到一些关于查询创建的细节。https://docs.spring.io/spring-data/neo4j/docs/current/reference/html/#query-创造

相关问题