У меня есть пользователь -> hasMany userPermission, и я получаю круговую ссылку, когда пружина MVC пытается вывести JSON. Если я установил права пользователя на null, он будет работать. Если у меня есть user-> hasmany-> userpermission (и разрешение пользователя manyToOne), я получаю переполнение стека.Jackson round reference (2.0)
класс Пользователь имеет:
@OneToMany(mappedBy="user", cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JsonManagedReference("user-perm") private List<UserPermission> userPermissions;
UserPermissoin имеет: // двунаправленную много-к-одному ассоциации с пользователем
@ManyToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="user_id", nullable=false)
@JsonBackReference("user-perm") private User user;
Любые идеи здесь?
* Update * Джексон 2.3.0 установил его, Spring работает с 2.3.0 от 1.9 без каких-либо изменений конфигурации, только изменяя зависимостей Maven.
0 Вы можете использовать идентификаторы вместо объектов? Я имею в виду в списке. – JosefN
Ну, все дело в том, чтобы вернуть пользователя из службы RESTful для отображения сведений о разрешении. – mikeb
в этом случае преобразуют их в строку – JosefN