欢迎光临散文网 会员登陆 & 注册

无Mi小程序音乐项目开发实战coderwhy梵蒂冈

2022-10-03 14:04 作者:山观那恭喜囧昂贵的  | 我要投稿


Spring JPA 1屡次查询存在死循环问题

无Mi小程序音乐项目开发实战coderwhy梵蒂冈

download:https://www.zxit666.com/4314/

的一切配置都是正确的,除了没有方法获取数据,有一个无限循环。
问题和处理计划由于运用了lombak的@Data
由于我们运用了@Data让lombok定义一切@ToString默许状况下,它将指向类名,并且它将与每个字段相关联。

比方用lazy @OneToMany办法调用hashCode()时,fetch可能会有一切的实体类,这可能会对应用的运转形成十分大的性能问题。


同时,假如在事务外运用,可能会得到LazyInitializationException。

假如您查询一个用户实体并打印它,打印将调用toString()办法,并且在toString()办法中有相关的Dept对象。所以用户和子对象之间的两个对象相互调用并打印,构成递归调用,最后堆栈溢出。

基于以上思索,我们以为@EqualsAndHashCode和@Data不应该应用于JPA的实体类。


@ToString还是能够用的,由于我们能够用@ToString。Exclude设置不需求的字段,或者@ tostring(onlyExplicitlyIncluded = true)移除类。

关于非惰性字段,我们能够运用@ToString。

包括注释。例如,我们的处理计划是只在JPA实体类中运用。

@Getter@Setter注释。基于以上缘由,这也是很多人倡议运用Lombok的缘由。

我们的了解还是能够用的,不要滥用,不要试图保管一个@Data end。

无Mi小程序音乐项目开发实战coderwhy梵蒂冈的评论 (共 条)

分享到微博请遵守国家法律