如何解决两个实体之间的连接表的 DTO
我有两个实体:Post 和 Tag 以及一个带有额外字段的连接表,如下所示:
@Entity
@Table(name = "post")
public class Post {
private Long post_id;
public Set<PostTag> postTag = new HashSet<PostTag>();
@JsonIgnore
@OnetoMany(mappedBy="post",cascade = CascadeType.ALL)
public Set<PostTag> getPostTag() {
return postTag;
}
}
@Entity
@Table(name = "tag")
public class Tag {
private Long tag_id;
private Set<PostTag> postTag = new HashSet<PostTag>();
@JsonIgnore
@OnetoMany(mappedBy = "tag")
public Set<PostTag> getPostTag() {
return postTag;
}
}
@Entity
@Table(name = "post_tag")
public class PostTag {
private long id;
private Post post;
private Tag tag
private String auth0id;
@Id
@GeneratedValue
@Column(name = "post_tag_id")
public long getId() {
return id;
}
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "tag_id")
public Post getTag() {
return tag;
}
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "post_id")
public Post getPost() {
return post;
}
}
为了简单起见,我省略了实体中的 getter 和 setter 以及一些字段。
我知道 OnetoMany 注释的提取类型将是 FetchType.EAGER。我目前的策略是获取帖子并遍历所有帖子并使用 getter 获取标签。我觉得这可能不是最有效的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。