使用lombok
jpa實體,繼承基類,使用@Data注解 會有警告,直接使用 @EqualsAndHashCode(callSuper=true)
警告消除,以為萬事大吉。
當對實體進行刪除操作的時候,后台報錯內存溢出,沒道理啊,然后去分析
結果:
lombok生成hashCode時進入無限循環,導致內存溢出,拋出異常。
為什么會進入無限循環?在我的實體中,有oneToMany的一個屬性,並且設置級聯刪除,在對這個字段生成hashCode的時候
就會導致無限循環
解決:
在@EqualsAndHashCode中添加 exclude 就可以了。
最好的方法是:自定義equals hashCode方法