问题描述
如果我有三个表,则一个用户可以进入多个项目,而一个项目可以有多个用户也是如此。为了实现这一点,我有三个表
1) User ---> UserEntity
2) Project ---> ProjectEntity
3) UserProjectMapping --> Join Table
现在,如果我尝试创建双向映射并使用Maven使用Hibernate获取JSON响应,因为我将使用Join Table在UserEntity中定义Join。在其中一个实体上,我将必须定义@JsonbTransient,否则它将进入循环循环,并且我将获得Stackover流异常。
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
之后,我将不会得到相应的响应。因此,假设我在ProjectEntity中的UserEntityList的getter上定义了@JsonbTransient
,当我调用ProjectEntity时,我不会得到User列表的响应吗?
那么我有什么办法可以使双向映射在JSON上起作用,还是可以断定JSON HIbernate不支持完整的双向映射?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)