2012-12-07 158 views
0

我有三個實體PersonTaskNote應該表現如下:JPA 2複雜的映射

  • 一個人可以有多個任務
  • 一個任務可以被分配給多個人
  • 每人可以爲任務附加多個註釋。

在此基礎上,我有以下表格:

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 

與如下因素的關係:

  • 許多一對多PersonTask之間使用Person_Task作爲聯接表
  • 一對多Person_TaskNote使用Person_Task_Note作爲連接表

現在我試圖使用JPA2與Hibernate映射此結構。 我的目標將是在代碼中僅具有以下選項三個基本的實體:

  • 獲取的人(person.getTasks()
  • 所有任務獲得的所有音符一個人的任務(task.getNotes()

我知道我可以將每張表映射到一個類,然後通過胖JPA標準查詢來檢索必要的信息。

但是,我想避免(如果possbile)爲連接表創建類。

如果我映射使用@ManyToManyPersonTask之間的關係,我目前不知道怎樣才能只使用JPA註釋進行進一步以檢索的Note

是否possbile做這種映射無需爲連接表編寫類?

回答

1

不,這是不可能的。您必須映射所有表,並將Person和Task之間的ManyToMany轉換爲兩個OneToMany關聯。