SpringDataJpa在一对多、多对多关系的级联操作时出现StackOverflowError(是真滴坑)

错误说明

SpringDataJpa在一对多、多对多关系的级联操作时出现StackOverflowError(是真滴坑)

可以看到是两个类的toString反复调用导致的堆栈溢出。在两类中分别重写了 toString 方法,导致查询加载时两类在互相调用对方的toString,形成递归,造成堆栈溢出。


解决问题

  1. 在 toString 方法中任意一方去除打印的对方信息。
  2. 如果用的是lombok,则不要用@Data或者@ToString注解。将@Data注解替换成@Getter和@Setter,然后手动重写toString()方法。

                   SpringDataJpa在一对多、多对多关系的级联操作时出现StackOverflowError(是真滴坑)