码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2021-01-20 12:06:32      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:内存   werror   get   测试   配置   结果   lower   解决   lombok   

在进行一对多配置后,在测试方法中尝试使用获取一方信息,结果出现了内存溢出的错误。

总结一下原因以及解决方案:

原因一:为了方便看信息,在两类中分别重写了 toString 方法,导致查询加载时两类在互相调用对方的toString,形成递归,造成内存溢出。
解决方案: 在 toString 方法中任意一方去除打印的对方信息。

原因二: 为了编写方便简洁,代码更加优雅,使用了 lombok 插件中的@Data以及@ToString注解来标注类,让 lombok 来代替生成 gettet/setter 以及 toString,但是 lombok 在生成时会出现循环比较两类中的 hashcode,导致内存溢出。
解决方案: 不要使用 lombok ,自己手写。

 

原文:https://blog.csdn.net/weixin_43464964/article/details/90669843

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

标签:内存   werror   get   测试   配置   结果   lower   解决   lombok   

原文地址:https://www.cnblogs.com/linyh99/p/14300619.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!