Neo4j Spring ogm导致关注者跟随概念的堆栈溢出

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

[尝试实施简单的社交网络概念:关注者+关注者。所有仅仅是彼此相关的帐户。使用Neo4j和Spring启动。

'org.springframework.boot' version '2.2.4.RELEASE'
'org.springframework.boot:spring-boot-starter-data-neo4j'

Account.class

@NodeEntity
public class Account {

  @Id
  private String pk;

  @Relationship(type = "FOLLOWS", direction = Relationship.INCOMING)
  private Set<Account> followers;

  @Relationship(type = "FOLLOWS", direction = Relationship.OUTGOING)
  private Set<Account> followings;
}

使用标准弹簧CrudRepository(或Neo4JRepository,没有区别),我不断在帐户中使用stackoverflows。 A跟随BB跟随A的最简单情况将导致findById()发生SOF。我了解它具有一定的安全性。与获取深度有关,但默认值为1,这意味着我应该获得followersfollowings帐户,但它们的关系应该为空。该关系在添加方面可以正常工作:我可以通过添加到适当的Set来从任何一端连接帐户,并且图形完全符合我的预期,但是提取不起作用。

主要问题:

我在做什么并且理解错了,可以做些什么来正确实现这种关系?

当然,我尝试使用深度为0且没有SOF的session.load(),但这并不是我真正需要的。默认深度1应该恰好提供了我所需要的,但是我想我误解了这个概念?

和额外

:是否可以为整个应用程序配置默认深度?无需手动使用session,因此可以重新实现所有基本操作。

[尝试实施简单的社交网络概念:关注者+关注者。所有仅仅是彼此相关的帐户。使用Neo4j和Spring启动。 'org.springframework.boot'版本'2.2.4.RELEASE'...

java spring spring-boot neo4j neo4j-ogm
1个回答
0
投票

最后,明白了。真正的问题不在获取中,而是在获取期间内部调用equals()hashcode()。由于我将lombok

@Data一起使用,因此所有属性都参与了这些方法,导致出现SOF。
© www.soinside.com 2019 - 2024. All rights reserved.