powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / jackson Infinite recursion (StackOverflowError)
6 сообщений из 6, страница 1 из 1
jackson Infinite recursion (StackOverflowError)
    #37735031
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Происходит зацикливание при генерации json.
Я сделал все как написано в этой статье
Все равно не помогло)




@Entity
@Table(name="event")
public class Event implements Comparable, Serializable{


@JsonManagedReference("event-image")
@OneToMany(mappedBy="parent")
private Set<Image> images = new HashSet<Image>();


}



@Entity
@Table(name="image")
public class Image implements Serializable {


@JsonBackReference("event-image")
@ManyToOne
private Event parent;


}

Контроллер

public @ResponseBody Event hello() {

Event load = eventService.load(1);

return load;

}


Ошибка

org.codehaus.jackson.map.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: logic.Event["images"]->org.hibernate.collection.PersistentSet[0]->logic.Image["parent"]->logic.Event["images"]->org.hibernate.collection.PersistentSet[0]->logic.Image["parent"]->logic.Event["images"]->....
...
Рейтинг: 0 / 0
jackson Infinite recursion (StackOverflowError)
    #37735050
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, вот же
http://stackoverflow.com/questions/3325387/infinite-recursion-with-jackson-json-and-hibernate-jpa-issue
Или через JsonIgnore разрываем циклические зависимости.
Или вот:
http://wiki.fasterxml.com/JacksonFeatureBiDirReferences
...
Рейтинг: 0 / 0
jackson Infinite recursion (StackOverflowError)
    #37735088
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, These annotations can be used for: * Methods (getters and setters) * Fields. Это значит можно использовать над методами и полями?

Я ставил над полем, при этом оно было как private так и public и это не работало.
Теперь поставил над get/set и заработало) 2 часа)
Это моя ошибка или документация некорректна?
...
Рейтинг: 0 / 0
jackson Infinite recursion (StackOverflowError)
    #37735091
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Example

Here is a simple example of a double-linked linked list, where references are both in same class


public class Node
{
public String name; // simple property

// reference with default name
@JsonManagedReference public SimpleTreeNode child; // forward reference, serialized
@JsonBackReference public Node parent; // backward reference, not serialized


Аннотации надо полями, как я и делал, но почему то у меня это не сработало.
...
Рейтинг: 0 / 0
jackson Infinite recursion (StackOverflowError)
    #37735314
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не увлекайтесь полями. это рудимент. свойства наше всё.
...
Рейтинг: 0 / 0
jackson Infinite recursion (StackOverflowError)
    #37735359
rdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, а все таки, почему так?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / jackson Infinite recursion (StackOverflowError)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]