我有三个实体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 注释而不为连接表编写类来进行这种映射?