Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Neo4j Spring ogm导致跟随者堆栈溢出_Java_Spring_Spring Boot_Neo4j_Neo4j Ogm - Fatal编程技术网

Java Neo4j Spring ogm导致跟随者堆栈溢出

Java Neo4j Spring ogm导致跟随者堆栈溢出,java,spring,spring-boot,neo4j,neo4j-ogm,Java,Spring,Spring Boot,Neo4j,Neo4j Ogm,尝试实现简单的社交网络概念:追随者+追随者。所有这些都只是相互关联的账户。使用Neo4j和弹簧护套 'org.springframework.boot' version '2.2.4.RELEASE' 'org.springframework.boot:spring-boot-starter-data-neo4j' 账户类 @NodeEntity public class Account { @Id private String pk; @Relationship(type =

尝试实现简单的社交网络概念:追随者+追随者。所有这些都只是相互关联的账户。使用Neo4j和弹簧护套

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

@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;
}
@NodeEntity
公共类帐户{
@身份证
私有字符串pk;
@关系(type=“FOLLOWS”,direction=Relationship.INCOMING)
私人设置的追随者;
@关系(type=“FOLLOWS”,direction=Relationship.OUTGOING)
私人设置的追随者;
}
使用standart spring
crudepository
(或
Neo4JRepository
,没有区别)我经常在使用帐户时遇到堆栈溢出。最简单的情况是
A
紧跟
B
B
紧跟
A
将导致
findById()的SOF。我知道它有smth。与获取深度有关,但它默认为1,这意味着我应该获取帐户的
追随者
追随者
,但它们的关系应该为空。在添加方面,关系正常工作:我可以通过添加到适当的
集合
从任何一端连接帐户,图形结果完全符合我的预期,但获取不起作用

主要问题:我做错了什么,理解错了什么,怎样才能正确实施这种关系

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


和extra:有没有办法为整个应用程序配置默认深度?没有手动使用
会话
,从而重新实现所有基本操作。

最后,得到了它。真正的问题不在抓取中,而是在抓取过程中的某个地方对
equals()
hashcode()
进行内部调用。由于我将lombok
@Data
一起使用,所有属性都在这些方法中分配,从而导致SOF


在类的注释中添加
@EqualsAndHashCode(exclude={“followers”,“followers”})
修复了这个问题,depth=1现在起作用了。

最后,得到了它。真正的问题不在抓取中,而是在抓取过程中的某个地方对
equals()
hashcode()
进行内部调用。由于我将lombok
@Data
一起使用,所有属性都在这些方法中分配,从而导致SOF

@EqualsAndHashCode(exclude={“followers”,“followers”})
添加到类的注释中修复了这个问题,并且depth=1现在可以工作了