Spring Neo4j关系无限循环

时间:2014-01-01 09:18:22

标签: java spring neo4j spring-data-neo4j

我遇到了Spring的@Fetch注释问题。我的模型与所讨论的模型here非常相似,给出的例子非常有效。这是我的模型的样子:

@NodeEntity
public class Person {   
   @Indexed
   private String name;

   @Fetch
   @RelatedTo(type="OWNS", direction=Direction.OUTGOING) //or no direction, same thing
   private Set<Car> cars;
}

@NodeEntity
public class Car {   
   @Indexed
   private String description;

   @RelatedTo(type="OWNS", direction=Direction.INCOMING)
   private Person person;
}

上一个问题和我的模型之间的唯一区别是@Fetch注释。如果您希望Spring在使用存储库时获取此字段的内容,则必须使用它。不幸的是,这会导致String进入循环,一遍又一遍地创建相同的两个对象的新实例,直到它打击堆。我似乎无法解决这个问题,无论我做什么,我要么陷入循环,要么我没有从存储库中获取任何东西。

在网上几乎没有提到这一点。我在想我正在搜索错误的东西,因为这似乎是一个非常常见的用例。有解决方法吗?

修改

可能相关:我使用的是独立的Neo4j服务器,因此SDN正在通过HTTP运行。我已经注意到了除了这个之外我还在开发的一些其他奇怪的,未提及的行为。我开始认为SDN的HTTP支持是罪魁祸首,拥有独立的Neo4j服务器在某种程度上是一件奇怪的事情。几乎所有使用Spring和Neo4j的示例/教程都使用嵌入式服务器。

0 个答案:

没有答案