0

我有三个实体Person,它TaskNote行为应该如下:

  • 一个人可以有多项任务
  • 一项任务可以分配给多人
  • 每个人都可以为一项任务附加多个注释。

基于此,我有以下表格:

Person     Task    Person_Task    Note           Person_Task_Note
-------    ----    -----------    -----------    ----------------
id         id      id             id             id
name       name    person_id      description    person_task_id
                   task_id                       note_id

具有以下关系:

  • 多对多之间Person并用作Task连接Person_Task
  • 一对多之间Person_Task并用作Note连接Person_Task_Note

现在我正在尝试使用 JPA2 和 Hibernate 来映射这个结构。我的目标是在代码中只包含具有以下选项的三个基本实体:

  • 获取一个人的所有任务 ( person.getTasks())
  • 获取某人任务的所有笔记 ( task.getNotes())

我知道我可以将每个表映射到一个类,然后使用胖 JPA 标准查询检索必要的信息。

但是,我想避免(如果可能的话)为连接表创建类。

Person如果我映射和Task使用之间的关系,@ManyToMany我目前看不到如何进一步检索Note条目

是否可以仅通过使用 JPA 注释而不为连接表编写类来进行这种映射?

4

1 回答 1

1

不,这是不可能的。您必须映射所有表,并将 Person 和 Task 之间的 ManyToMany 转换为两个 OneToMany 关联。

于 2012-12-07T14:23:27.827 回答