Hibernate映射上的堆栈溢出异常

Hibernate映射上的堆栈溢出异常,hibernate,spring-boot,jackson,spring-data-jpa,spring-rest,Hibernate,Spring Boot,Jackson,Spring Data Jpa,Spring Rest,这是我在使用Find方法时遇到的异常。 我正在使用SpringBootJPA存储库 java.lang.StackOverflowError: null at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoa

这是我在使用Find方法时遇到的异常。 我正在使用SpringBootJPA存储库

java.lang.StackOverflowError: null
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:708)
@表(name=“Store”) 公共类存储实体{

@Entity
部分例外

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long grocery_id;

private String name;
private String description;

private double price;
private boolean isActive;
private Date  createdDate;  
private Date  lastModifiedBy;


@ManyToOne(cascade = CascadeType.ALL )
@JoinColumn(name = "store_id")
@JsonIgnoreProperties(value ="groceryItem", allowSetters=true)
private StoreEntity store;
在所有映射中使用,以修复无限递归的问题

实际上,我改变了应用程序的结构。在端点中使用Vo而不是实体类

在所有映射中使用,以修复无限递归的问题


实际上,我更改了应用程序的结构。在Endpoint中使用了Vo而不是Entity类

Nice exception。现在需要一个问题和一些代码才能成为一篇有价值的文章。@TheHeadlush请检查代码。哪个查找方法?FindAll()或findOne(id)对于jpa Repositories,当尝试序列化时,您会遇到无限递归问题-每个
StoreEntity
都引用了一组
GroceryItemEntity
实例,反之亦然。
Jackson
提供了一组注释(
@JsonIgnore
@JsonIgnoreProperties
@JsonManagedReference
/
@JsonBackReference
)在不同的用例中解决这个问题。你只需要评估并找出哪一个最符合你的需要。很好的例外。现在需要一个问题和一些代码才能成为一篇有价值的文章。@TheHeadlush请检查代码。哪个查找方法?FindAll()或findOne(id)对于jpa Repositories,当尝试序列化时,您会遇到无限递归问题-每个
StoreEntity
都引用了一组
GroceryItemEntity
实例,反之亦然。
Jackson
提供了一组注释(
@JsonIgnore
@JsonIgnoreProperties
@JsonManagedReference
/
@JsonBackReference
)在各种用例中解决此问题。您只需评估并找出最能满足您需求的方案。
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long grocery_id;

private String name;
private String description;

private double price;
private boolean isActive;
private Date  createdDate;  
private Date  lastModifiedBy;


@ManyToOne(cascade = CascadeType.ALL )
@JoinColumn(name = "store_id")
@JsonIgnoreProperties(value ="groceryItem", allowSetters=true)
private StoreEntity store;
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:708)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
@JsonIgnoreProperties(value ="groceryItem", allowSetters=true)