[英]OneToOne User Jhipster relationship
我已经创建了一个 UserExtra 实体,它与这样的 User 实体具有 OneToOne 关系
用户.java
public class User extends AbstractAuditingEntity implements Serializable {
...
@OneToOne(mappedBy = "user")
@JsonIgnoreProperties(value = "user")
private UserExtra userExtra;
UserExtra.java
public class UserExtra extends AbstractAuditingEntity implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private Long id;
@MapsId
@JoinColumn(name = "id")
@JsonIgnore
private User user;
...
}
但是,当我在终端上搜索用户时出现此错误:
SLF4J: Failed toString() invocation on an object of type [org.springframework.http.ResponseEntity]
Reported exception:
java.lang.StackOverflowError
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:449)
at java.lang.StringBuilder.append(StringBuilder.java:136)
at co.interedes.domain.UserExtra.toString(UserExtra.java:91)
at java.lang.String.valueOf(String.java:2994)
这可能是因为您的toString()
方法中有一个循环引用。 这意味着User
打印UserExtra
,并且UserExtra
打印User
进入一个永无止境的循环。
解决此问题的一种方法是简单地从UserExtra
中的toString()
方法中删除User
,或者让它只打印User
ID 而不是整个 object。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.