0
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)

This is the Exception I am getting when use Find Method . I am using Spring Boot JPA Repository.

@Entity

@Table(name ="Store") public class StoreEntity {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long store_id;
private String storeDescription;
private String storeName;
private String lattitude;
private String longitude;
private boolean isActive;
private boolean is247;
private Date createdDate;
private Date lastModifiedBy;

@OneToMany(mappedBy = "store", cascade = CascadeType.ALL)
@JsonIgnoreProperties(value ="store", allowSetters=true)
private Set<GroceryItemEntity> groceryItem;

@Table(name ="Grocery") public class GroceryItemEntity {

@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;

Part of Exceptions

at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:708)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
6
  • Nice exception. Now it needs a question and some code to be a worthy post. Commented May 21, 2018 at 21:04
  • @TheHeadRush Please Check the Code. Commented May 21, 2018 at 21:08
  • Which find method? Commented May 21, 2018 at 22:12
  • FindAll() or findOne(id) of jpa repositories Commented May 21, 2018 at 22:14
  • You have an infinite recursion problem when when attempting serialization - each StoreEntity has a reference to a set of GroceryItemEntity instances and vice versa. Jackson provides a set of annotations (@JsonIgnore, @JsonIgnoreProperties, and @JsonManagedReference/@JsonBackReference) to work around this problem in various use cases. You just have to evaluate and figure out which one best meets your needs. Commented May 22, 2018 at 13:26

1 Answer 1

2
@JsonIgnoreProperties(value ="groceryItem", allowSetters=true)

Used in All Mapping to fixed the issue of infinite recursion.

Actually I changed the Structure of my application.Used Vo in Endpoint instead of Entity Class

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.