SpringDataJpa在一对多、多对多关系映射时出现*Error
程序员文章站
2022-05-07 10:18:24
在使用spring-data-jpa时,进行一对多配置后,在调用save方法时,出现内存溢出。 产生原因一:为了方便看信息,在两类中分别重写了 toString 方法,导致查询加载时两类在互相调用对方的toString,形成递归,造成内存溢出。 解决方案: 在 toString 方法中任意一方去除打 ......
在使用spring-data-jpa时,进行一对多配置后,在调用save方法时,出现内存溢出。
产生原因一:为了方便看信息,在两类中分别重写了 tostring 方法,导致查询加载时两类在互相调用对方的tostring,形成递归,造成内存溢出。
解决方案: 在 tostring 方法中任意一方去除打印的对方信息。
产生原因二: 使用了 lombok 插件中的@data以及@tostring注解来标注实体类,让 lombok 来代替生成 gettet/setter 以及 tostring,但是 lombok 在生成时会出现循环比较两类中的 hashcode,导致内存溢出。
解决方案: 不要使用 lombok ,自己手写。 不要使用@data,使用@getter和@setter代替
下一篇: 蛏子怎么快速去内脏,再不知道就晚了!
推荐阅读
-
SpringDataJpa在一对多、多对多关系映射时出现*Error
-
hibernate多对一关联映射出现的java.lang.*Error问题
-
Mybatis04—注解开发实现CRUD以及实现一对一、一对多及多对多复杂关系映射
-
Mybatis常用的注解开发CRUD&&复杂关系映射(一对一,一对多)&&mybatis 基于注解的二级缓存
-
Mybatis使用注解实现一对多复杂关系映射
-
JPA中映射关系详细说明(一对多,多对一,一对一、多对多)、@JoinColumn、mappedBy说明
-
php在写数据中时,啥叫一对一和一对多
-
php在写数据中时,啥喊一对一和一对多
-
SpringDataJpa在一对多、多对多关系映射时出现*Error
-
php在写数据中时,啥喊一对一和一对多