微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

两个实体之间的连接表的 DTO

如何解决两个实体之间的连接表的 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 举报,一经查实,本站将立刻删除。