有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JPA在另一个表中使用的多对多主键

我希望能够在我的个人实体中拥有每本书的当前页面的书籍列表。(给定的藏书可供多人使用)

我有以下表格:

BookCollection
---------------
collection_id
collection_name


Book
---------------
book_id
book_name


CollectionBooks
---------------
cb_id
collection_id
book_id


Person
---------------
person_id
person_name


PersonBooks
---------------
pb_id
person_id
cb_id
current_page

已设置前4个表,并且关系正在运行。我不知道如何在PersonBooks表中使用JPA。我相信这就是我在数据库中确定一个人拥有的书籍以及他们在给定书籍中的页面所需的全部内容

以下是实体类

@Entity
public class BookCollection {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long collectionId;

    private String collectionName;

    @ManyToMany
    @JoinTable(name="CollectionBooks", 
               joinColumns=@JoinColumn(name="collection_id", referencedColumnName="collectionId"), 
               inverseJoinColumns=@JoinColumn(name="book_id", referencedColumnName="bookId"))
    private Set<Book> books;
}

@Entity
public class Book {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long bookId;

    private String bookName;
}

@Entity
public class Person {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long personId;

    private String personName;
}

共 (0) 个答案