Spring boot Spring Boot Hibernate JPA@OneToOne双向堆栈溢出错误
我的实体:Spring boot Spring Boot Hibernate JPA@OneToOne双向堆栈溢出错误,spring-boot,hibernate,jpa,one-to-one,Spring Boot,Hibernate,Jpa,One To One,我的实体: @Entity @Data @AllArgsConstructor @NoArgsConstructor @Table(name = "framework") //this table doesn't have any FK to SortingType table public class Framework extends BaseEntity { @Id @GeneratedValue(strategy =
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "framework") //this table doesn't have any FK to SortingType table
public class Framework extends BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
//@JsonManagedReference
@OneToOne(mappedBy = "framework", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private FrameworkSortingType sortingType;
}
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "sorting_type") //this table has FK to framework table framework_id
public class FrameworkSortingType extends BaseEntity {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
// @JsonBackReference
// @OneToOne
// @JoinColumn(name = "framework_id", unique = true)
@OneToOne(fetch = FetchType.LAZY)
@MapsId
private Framework framework;
}
错误:
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.StackOverflowError
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1053)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
...
Caused by: java.lang.StackOverflowError: null
at com.ihsmarkit.environment.edp.model.SortingType.hashCode(SortingType.java:11)
at com.ihsmarkit.environment.edp.model.FrameworkSortingType.hashCode(FrameworkSortingType.java:11)
at com.ihsmarkit.environment.edp.model.Framework.hashCode(Framework.java:14)
at com.ihsmarkit.environment.edp.model.FrameworkSortingType.hashCode(FrameworkSortingType.java:11)
at com.ihsmarkit.environment.edp.model.Framework.hashCode(Framework.java:14)
at com.ihsmarkit.environment.edp.model.FrameworkSortingType.hashCode(FrameworkSortingType.java:11)
at com.ihsmarkit.environment.edp.model.Framework.hashCode(Framework.java:14)
at com.ihsmarkit.environment.edp.model.FrameworkSortingType.hashCode(FrameworkSortingType.java:11)
at com.ihsmarkit.environment.edp.model.Framework.hashCode(Framework.java:14)
at com.ihsmarkit.environment.edp.model.FrameworkSortingType.hashCode(FrameworkSortingType.java:11)
at com.ihsmarkit.environment.edp.model.Framework.hashCode(Framework.java:14)
at com.ihsmarkit.environment.edp.model.FrameworkSortingType.hashCode(FrameworkSortingType.java:11)
我尝试了很多选择,很多方法来解决我的问题。。。没有成功。问题在哪里?我通过以下方式解决了我的问题:
添加:@EqualsAndHashCode(exclude=“frameworkSortingType”)
和
@JsonManagedReference
和@JsonBackReference
这是否回答了您的问题?哦,不。。。。不幸的是,此修复只解决了我的部分问题。。。在我的应用程序的另一个地方,我得到了错误:无限递归(StackOverflowerError)(通过引用链:FRameworkSortingType->Framework)