简体   繁体   English

OneToOne 用户 Jhipster 关系

[英]OneToOne User Jhipster relationship

I have created a UserExtra entity with OneToOne relationship to User entity like this我已经创建了一个 UserExtra 实体,它与这样的 User 实体具有 OneToOne 关系

User.java用户.java

public class User extends AbstractAuditingEntity implements Serializable {

...

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

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

}

But, when I search a user on terminal appears this error:但是,当我在终端上搜索用户时出现此错误:

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)

This is, probably, because you have a circular reference in your toString() methods.这可能是因为您的toString()方法中有一个循环引用。 This means User prints UserExtra , and UserExtra prints User entering a never ending loop.这意味着User打印UserExtra ,并且UserExtra打印User进入一个永无止境的循环。

One way to fix this is to simply remove the User from the toString() method inside UserExtra or have it print only the User ID instead of the whole object.解决此问题的一种方法是简单地从UserExtra中的toString()方法中删除User ,或者让它只打印User ID 而不是整个 object。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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