如何解决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 举报,一经查实,本站将立刻删除。