为了账号安全,请及时绑定邮箱和手机立即绑定

无法评估表达式方法引发了“java.lang.StackOverflowError”异常。

无法评估表达式方法引发了“java.lang.StackOverflowError”异常。

德玛西亚99 2022-05-12 15:39:15
有一天我正在与一个问题作斗争。所以让我们开始吧。我有 3 个类,例如标签、优惠和动物@Data@Builder@AllArgsConstructor@NoArgsConstructor@Entity@Table(name = "animals")public class Animal {@Id@GeneratedValue(strategy = GenerationType.AUTO)@Column(name = "animal_id")private Long id;@Column(name = "name")@NotNullprivate String name;@Column(name = "description")@NotNullprivate String text;@Column(name = "quantity")@NotNullprivate int count;@ManyToOne(fetch = FetchType.EAGER)@JoinColumn(name = "user_id", nullable = false)private User user;@ManyToOne(fetch = FetchType.EAGER)@JoinColumn(name = "tag_id", nullable = false)private Tag tags;@OneToOne(fetch = FetchType.EAGER)@JoinColumn(name = "offer_id", nullable = true)private Offer offer;优惠@Data@Builder@AllArgsConstructor@NoArgsConstructor@Entity@Table(name = "offer")public class    Offer {@Id@GeneratedValue(strategy = GenerationType.AUTO)@Column(name = "offer_id")private Long id;@Column(name = "title")@NotNullprivate String title;@Column(name = "description")@NotNullprivate String text;@Column(name = "price")@NotNullprivate int price;@Column(name = "contact")@NotNullprivate int contact;@Temporal(TemporalType.TIMESTAMP)@Column(name = "create_date", nullable = false, updatable = false)@CreationTimestampprivate java.util.Date createDate;@ManyToOne(fetch = FetchType.EAGER)@JoinColumn(name = "user_id", nullable = false)private User user;@ManyToOne(fetch = FetchType.EAGER)@JoinColumn(name = "tag_id", nullable = false)private Tag tags;@OneToOne(fetch = FetchType.EAGER)@JoinColumn(name = "animal_id", nullable = false)private Animal animal;
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

toString()类中的方法Animal会导致此问题。方法交替地构建返回字符串,Animal并且Tag类都相互引用,从而产生无限过程。

摆脱@Data注释(包括@ToString注释),并自己实现toString()方法。


查看完整回答
反对 回复 2022-05-12
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

如果您使用的是龙目岛,只需添加;

@EqualsAndHashCode(onlyExplicitlyIncluded = true, callSuper = false)


查看完整回答
反对 回复 2022-05-12
  • 2 回答
  • 0 关注
  • 299 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号