我正在创建一个项目与ArangoDb为我的研究。这是一个后台项目与Spring Boot 。我是按照教程在这里:
https://github.com/arangodb/spring-data-demo
一切都进行得很顺利,但是当我尝试用“Character”类创建控制器时,出现了以下错误:java.lang.StackOverflowError: null
经过进一步的检查,我发现是子节点和父节点的Map造成了这个问题。(类部件),具有基本属性,如name、id和childPart的集合,类似于角色类中的“查尔兹”。然后如果我有两个部件对象P1和P2,并且我将P2作为P1的childPart。JSON响应以P2作为P1的child出现,然后P1作为P2的child出现,然后P2再次作为P1的child出现。这是一个无限循环。早些时候我认为我的实现有一些问题,但是当我下载演示代码时,它也有同样的问题。请让我知道是否有一种方法可以解决这个问题,或者如果我错过了什么。
教程代码中的 Postman 响应实际上是一个无限循环。
[
{
"id": "424543",
"name": "Sansa",
"surname": "Stark",
"alive": true,
"age": 13,
"childs": [
{
"id": "424594",
"name": "Ned",
"surname": "Stark",
"alive": false,
"age": 41,
"childs": [
{
"id": "424606",
"name": "Robb",
"surname": "Stark",
"alive": false,
"age": null,
"childs": [
{
"id": "424594",
"name": "Ned",
"surname": "Stark",
"alive": false,
"age": 41,
"childs": [
{
"id": "424606",
"name": "Robb",
"surname": "Stark",
"alive": false,
"age": null,
"childs": [
{
"id": "424594",
"name": "Ned",
"surname": "Stark",
"alive": false,
"age": 41,
"childs": [
{
1条答案
按热度按时间cxfofazt1#
注解
@Ref
、@Relations
、@To
和@From
允许设置字段boolean lazy
,该字段指定实体是否应该延迟加载。根据您如何对实体建模以及使用上面的注解,我认为您可以解决在其中一个注解中设置lazy = true
的问题。