当前位置: 移动技术网 > IT编程>开发语言>Java > SpringDataJpa在一对多、多对多关系映射时出现StackOverflowError

SpringDataJpa在一对多、多对多关系映射时出现StackOverflowError

2019年08月19日  | 移动技术网IT编程  | 我要评论

在使用spring-data-jpa时,进行一对多配置后,在调用save方法时,出现内存溢出。

   产生原因一:为了方便看信息,在两类中分别重写了 tostring 方法,导致查询加载时两类在互相调用对方的tostring,形成递归,造成内存溢出。

   解决方案: 在 tostring 方法中任意一方去除打印的对方信息。

  产生原因二: 使用了 lombok 插件中的@data以及@tostring注解来标注实体类,让 lombok 来代替生成 gettet/setter 以及 tostring,但是 lombok 在生成时会出现循环比较两类中的 hashcode,导致内存溢出。

  解决方案: 不要使用 lombok ,自己手写。 不要使用@data,使用@getter和@setter代替

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网