Java OneToOne用户Jhipster关系

Java OneToOne用户Jhipster关系,java,spring-data-jpa,jhipster,Java,Spring Data Jpa,Jhipster,我已经创建了一个UserExtra实体,它与用户实体的关系如下 User.java public class User extends AbstractAuditingEntity implements Serializable { ... @OneToOne(mappedBy = "user") @JsonIgnoreProperties(value = "user") private UserExtra userExtra; public class UserExtr

我已经创建了一个UserExtra实体,它与用户实体的关系如下

User.java

public class User extends AbstractAuditingEntity implements Serializable {

...

@OneToOne(mappedBy = "user")
    @JsonIgnoreProperties(value = "user")
    private UserExtra userExtra;

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;
    ...

}
UserExtra.java

public class User extends AbstractAuditingEntity implements Serializable {

...

@OneToOne(mappedBy = "user")
    @JsonIgnoreProperties(value = "user")
    private UserExtra userExtra;

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而不是整个对象。

这可能是因为
toString()
方法中有一个循环引用。这意味着
User
打印
UserExtra
,而
UserExtra
打印
User
进入一个永无止境的循环


解决此问题的一种方法是从
UserExtra
中的
toString()
方法中删除
User
,或者让它只打印
User
ID而不是整个对象。

您是如何在UserExtra中实现toString()的?这就是堆栈跟踪中显示的无限递归的原因。您是如何在UserExtra中实现toString()的?这就是堆栈跟踪中显示的无限递归的原因