Reputation: 2220
My entities:
@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;
}
Error:
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)
I tried many options, many ways to solve my problem... without success. Where is the problem?
Upvotes: 0
Views: 650
Reputation: 2220
I solved my problem by:
adding: @EqualsAndHashCode(exclude="frameworkSortingType")
and @JsonManagedReference
and @JsonBackReference
Upvotes: 1