#json #hibernate #maven #many-to-many #hibernate-mapping
#json #спящий режим #maven #многие ко многим #режим гибернации-отображение
Вопрос:
Если у меня есть три таблицы, 1 пользователь может работать в нескольких проектах, и то же самое верно, что в одном проекте может быть несколько пользователей. Для достижения этого у меня есть три таблицы
1) User ---> UserEntity
2) Project ---> ProjectEntity
3) UserProjectMapping --> Join Table
Теперь, если я попытаюсь создать двунаправленное отображение и использовать Maven для получения ответа JSON с помощью Hibernate, поскольку я буду определять соединение в UserEntity с помощью Join Table. Для одного из объектов мне придется определить @JsonbTransient, иначе он перейдет в циклические циклы, и я получу исключение потока стекирования.
org.eclipse.yasson.internal.serializer.AbstractDateTimeSerializer.serialize(AbstractDateTimeSerializer.java:52)
org.eclipse.yasson.internal.serializer.AbstractContainerSerializer.serializerCaptor(AbstractContainerSerializer.java:95)
org.eclipse.yasson.internal.serializer.ObjectSerializer.marshallProperty(ObjectSerializer.java:92)
org.eclipse.yasson.internal.serializer.ObjectSerializer.serializeInternal(ObjectSerializer.java:61)
@ManyToMany(fetch = FetchType.EAGER,cascade= CascadeType.ALL)
@JoinTable(name= "UserProjectMapping ", joinColumns = @JoinColumn(name = "User_id"),
inverseJoinColumns = @JoinColumn(name = "Project_ID") )
List<ProjectEntity> ProjectList = new ArrayList<ProjectEntity>();
В проекте
@ManyToMany( cascade= CascadeType.ALL, mappedBy= "ProjectList")
List<UserEntity> UserEntityList = new ArrayList<UserEntity>();
Но после определения @JsonbTransient
в геттерах я не получу соответствующего ответа. Итак, допустим, я определяю @JsonbTransient
при получении UserEntityList в ProjectEntity, я не буду получать ответ из списка пользователей при вызове ProjectEntity?
Итак, есть ли какой-либо способ заставить двунаправленное отображение работать с JSON, или можно с уверенностью заключить, что JSON HIbernate не поддерживает полное двунаправленное отображение?
Комментарии:
1. Вы можете использовать один из подходов, описанных в этой статье.