@EqualsAndHashCode

Posted on 2019-07-17 17:11  慢热并不是缺点  阅读(6929)  评论(0编辑  收藏  举报

使用lombok

jpa实体,继承基类,使用@Data注解 会有警告,直接使用 @EqualsAndHashCode(callSuper=true)

警告消除,以为万事大吉。

当对实体进行删除操作的时候,后台报错内存溢出,没道理啊,然后去分析

结果:

lombok生成hashCode时进入无限循环,导致内存溢出,抛出异常。

为什么会进入无限循环?在我的实体中,有oneToMany的一个属性,并且设置级联删除,在对这个字段生成hashCode的时候

就会导致无限循环

解决:

在@EqualsAndHashCode中添加 exclude 就可以了。

最好的方法是:自定义equals hashCode方法 

 

Copyright © 2024 慢热并不是缺点
Powered by .NET 8.0 on Kubernetes