Приложение Spring, использующее исключение Set <> persistentSet - PullRequest
0 голосов
/ 04 мая 2020

У меня проблемы при попытке получить Set <> Collection из базы данных. это релевантная часть кода:

@Entity

public Class User { 
    ... 

    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    private Set<User> userFriends;
    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    private Set<FriendRequest> friendRequests;
    @OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    private Set<FriendRequest> sentRequests;
}

Я попытался изменить каскад на CascadeType.Persist и все еще имел ту же проблему. если кто-то знает проблему, я также буду рад понять, что я делаю неправильно, и разницу между CascadeTypes (по крайней мере, когда использовать каждый из них).

это StackTrace, который я получаю:

Exception in thread "main" java.lang.StackOverflowError
    at java.util.HashMap$KeyIterator.<init>(Unknown Source)
    at java.util.HashMap$KeySet.iterator(Unknown Source)
    at java.util.HashSet.iterator(Unknown Source)
    at java.util.AbstractCollection.toString(Unknown Source)
    at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:328)
    at java.lang.String.valueOf(Unknown Source)
    at java.lang.StringBuilder.append(Unknown Source)
    at MyRally1.demoRally.beans.User.toString(User.java:191)
    at java.lang.String.valueOf(Unknown Source)
    at java.lang.StringBuilder.append(Unknown Source)
    at java.util.AbstractCollection.toString(Unknown Source)
    at org.hibernate.collection.internal.PersistentSet.toString(PersistentSet.java:328)

Спасибо!

...