我有三个实体Person
,它Task
的Note
行为应该如下:
- 一个人可以有多项任务
- 一项任务可以分配给多人
- 每个人都可以为一项任务附加多个注释。
基于此,我有以下表格:
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 注释而不为连接表编写类来进行这种映射?