如何修复java.lang.StackOverflowerError引起的错误必须是关系@ManytoMany

如何修复java.lang.StackOverflowerError引起的错误必须是关系@ManytoMany,java,spring-boot,hibernate,Java,Spring Boot,Hibernate,我与许多表关联。但我有个错误。我发现这是我的问题。所以我尝试使用这个选项(fetch=FetchType.LAZY),但我认为这是行不通的 2021-05-31 16:10:54.417 ERROR 19188 --- [nio-8081-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw

我与许多表关联。但我有个错误。我发现这是我的问题。所以我尝试使用这个选项(fetch=FetchType.LAZY),但我认为这是行不通的

2021-05-31 16:10:54.417 ERROR 19188 --- [nio-8081-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.StackOverflowError] with root cause

java.lang.StackOverflowError: null

@实体
公共类文档实现可序列化{
私有静态最终长serialVersionUID=1L;
@Id@GeneratedValue(策略=GenerationType.IDENTITY)
私有int-id;
@OneToOne(级联=级联类型.ALL)
@JoinColumn(name=“id\u文件”)
私有文件数据库文件;
@许多酮
@JoinColumn(name=“id\u doc\u type”)
私有文档类型;
私人日期;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name=“document\u codominium\u关联”,
joinColumns=@JoinColumn(name=“id\u文档”),
inverseJoinColumns=@JoinColumn(name=“id\u codominium”))
私家名单;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name=“文档所有者协会”,
joinColumns=@JoinColumn(name=“id\u文档”),
inverseJoinColumns=@JoinColumn(name=“id\u coowner”))
私人名单所有者;
}
@实体
公共类公寓实现可序列化{
私有静态最终长serialVersionUID=1L;
@Id@GeneratedValue(策略=GenerationType.IDENTITY)
私有int-id;
私有字节[]图片;
私有字符串名称;
私有字符串地址;
私有字符串描述;
私人持股比例;
@ManyToMany(fetch=FetchType.LAZY)
@JoinTable(name=“document\u codominium\u关联”,
joinColumns=@JoinColumn(name=“id\u codominium”),
inverseJoinColumns=@JoinColumn(name=“id\u文档”))
私人文件清单;
}

我以前就遇到过这个问题

当一个类中有多个@ManyToMany映射且具有“急切获取”选项时,就会发生这种情况

有多种方法可以解决这个问题,比如将列表集合更改为set,或者将某个fetch类型设置为LAZY等等

但本文给出了解决这一问题的推荐方法


在每个文档中,您都有一个公寓元素列表,在每个公寓中,您都有一个文档元素列表。那肯定会给你带来麻烦哦,谢谢你,这很有帮助