繁体   English   中英

OneToOne 用户 Jhipster 关系

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM