我有3张桌子。 post
,tag
和post_tag
。由于tag
将在许多post
上重复使用,因此无法使用post_id
列存储。因此,第三个表post_tag
会将ID指向post
和tag
。
在我的post
实体中,我有
@Setter
@Getter(onMethod = @__(@JsonIgnore))
@OneToMany(mappedBy = "post")
private Set<PostTag> tagSet;
和post_tag
实体有
@Setter
@Getter
@OneToOne
private Tag tag;
@Setter
@Getter
@ManyToOne
private Post post;
tag
实体只有标签的信息。一切都很好,除了我不知道如何将tagSet
传递给客户端。我尝试创建一个新的ArrayNode
变量来手动传递来自tagSet
的数据。它可以工作,但这意味着当客户端将post
对象传递回服务器时,我需要手动将ArrayNode
转换为tagSet
,然后让hibernate为我保存。我这样做没有问题。只是想看看spring和hibernate是否有一种更简单的方法可以摆脱这种映射过程。我正在使用休眠和弹簧启动。