欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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代替