Hibernate不支持JSON的双向@ManytoMany映射吗?

问题描述

如果我有三个表,则一个用户可以进入多个项目,而一个项目可以有多个用户也是如此。为了实现这一点,我有三个表

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 (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...