spring-data-neo4j中的深度注释不起作用吗?

问题描述 投票:0回答:1

希望您能为我提供帮助:

目标

我的目标是获取与其直接邻居相邻的实体。

设置

说我有Person个课程:

@NodeEntity(label = "Person")
public class Person {

    ...

    @Relationship(type = "HAS_FRIEND")
    private Person friend;

    ...
}

这是我的PersonRepository

public interface PersonRepository extends Neo4jRepository<Person, Long> {

    Person findByName(String name);

}

现在可以说我有4个人吉姆,鲍勃,爱丽丝,彼得它们之间的关系是这样的:JimHAS_FRIENDBobHAS_FRIENDAliceHAS_FRIENDPeter

我期望

深度为1:

[当调用findByName(“ Jim”)时,应返回带有]的Person的实例>

  • name =>“ Jim”
  • 朋友=>名称为“鲍勃”的Person的实例
  • bob.friend => null
  • 实际

我得到一个包含所有子孙的Person实例吉姆Jim.friend =>鲍勃Bob.friend =>爱丽丝

Jim.getFriend()。getFriend()。getFriend()=>彼得

到目前为止我尝试过的
  1. @Depth(value = 2)的使用不起作用,将像Actual

一样返回>
  • 尝试过QueryParam注释:
  •     @Query("MATCH " +
             "(p:Person {name:{name}})" +
             "Return p")
    
    1. @JsonIgnoreProperties是没有选择的,因为在其他情况下,我需要此链

    编辑

    我正在使用spring-boot-starter-data-neo4j version 2.2.5再次使用spring-data-neo4j version 5.2.5

    我希望您能够为我提供帮助:目标我的目标是获取一个与其直接邻居相邻的实体。安装程序说我有Person类:@NodeEntity(label =“ Person”)公共类Person {... @ ...

    java neo4j spring-data-neo4j
    1个回答
    0
    投票

    无法使用我自己的测试设置来重现该行为。也许在neo4j中处理旧数据?我不知道。

    如果有人知道更多,请随时回答

    © www.soinside.com 2019 - 2024. All rights reserved.