【问题标题】:Spring Boot, filtered OneToMany(mappedBy)Spring Boot,过滤 OneToMany(mappedBy)
【发布时间】:2022-01-23 00:19:22
【问题描述】:

我有这两个实体:

public class Book {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @Column(name = "title")
    private String title;

    @OneToMany(mappedBy = "book")
    private List<UserBook> userBookList;
}

public class UserBook {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    @Column(name = "user_id")
    private long userId;

    @ManyToOne
    @JoinColumn(name = "book_id", nullable = false)
    private Book book;

    @Column(name = "page_read")
    private int pageRead;
}

我想要实现的是从 postgre 数据库中检索书籍列表,并将来自相关 UserBook 实体的对象注入 userBookList(对于每本书)给定当前用户 发送请求。到目前为止,每次我获得书籍列表时,userBookList 都会包含 UserBook 表中与他的特定书籍相关的所有项目。

有干净的方法吗?

【问题讨论】:

    标签: java spring-boot jpa spring-data-jpa


    【解决方案1】:

    所以你上面有的是双向映射。如果您使用 userBookList,它有多个 UserBooks 引用一本书。如果您只想要一个没有循环引用的干净 JSON 输出,请将 @JsonIgnore 添加到您不想重复的输出。

    【讨论】:

    • @Loris 做了这项工作吗?如果可以,您可以接受我的回答,这将增加您获得答案的机会
    猜你喜欢
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-01
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    相关资源
    最近更新 更多