在两个表之间的多对多关系中,中间有一个映射表,我怎样才能只加载第二个实体的 ID。
以下是解释我想要在这里实现的目标的示例。下面是一个示例架构
create table user(
id int PrimaryKey,
name text
)
create table pages (
id int PrimaryKey,
page_name text
)
create table user_page (
id_user int,
id_page int,
PrimaryKey (id_user, id_page)
)
注意:用户表和页表中还有其他列,为简洁起见,我没有在此处包括在内。
用户实体:
@Entity
@Table(name = "user")
public class User {
@id
@column(name="id")
private Integer id;
@column(name="name")
private String name;
...
...
}
@Entity
@Table(name = "page")
public class Page {
@id
@column(name="id")
private Integer id;
@column(name="page_name")
private String name;
...
...
}
我想要做的是Set<Integer> pageIds
在User
类中添加另一个属性,并为该集合中的用户映射所有页面 id。
如何使用 Hibernate 来做到这一点?