【发布时间】:2013-06-04 16:46:33
【问题描述】:
在两个表之间有一个映射表的多对多关系中,我怎样才能只加载第二个实体的 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;
...
...
}
我想要做的是在User 类中添加另一个属性Set<Integer> pageIds,并为该集合中的用户映射所有页面ID。
如何使用 Hibernate 做到这一点?
【问题讨论】:
标签: hibernate hibernate-mapping hibernate-annotations