问题:JPA使用一对多映射关系@data注解时报错,但是使用@Setter @Getter时不报错,这是什么原因呢?

Unable to evaluate the expression Method threw 'org.hibernate.exception.GenericJDBCException' exception.
这个错误是Hibernate懒加载导致的:https://liuyanzhao.com/6995.html
那为什么@data会懒加载报错而@Setter @Getter不会?
@Data:该注解相当于同时加上以下注解@Setter @Getter,@ToString,@RequiredArgsConstructor,@EqualsAndHashCode
@ToString 如果jps一段和多端都配置了,会出现内存溢出问题,因为“套娃”,就是嵌套toString了
@EqualsAndHashCode到这了懒加载问题

一端配置

在使用JPA的一对多映射关系时,使用@Data注解会导致懒加载错误,而使用@Setter @Getter则不会。错误源于Hibernate的懒加载机制。@Data包含了多个注解,当一端和多端都配置@ToString时,可能导致内存溢出,因为嵌套的toString方法。@EqualsAndHashCode也可能影响懒加载。若一端配置@EqualsAndHashCode,多端未配置,则不会出现此错误。
最低0.47元/天 解锁文章
874

被折叠的 条评论
为什么被折叠?



