多對多對映

  • @TableGenerator 和 @GeneratedValue 用於使用 jpa 表生成器自動建立 ID。
  • @ManyToMany 批註指定 Employee 和 Project 實體之間的關係。
  • @JoinTable 指定要用作連線表的表的名稱 jpa 使用 name =“employee_project”在 Employee 和 Project 之間進行多對多對映。這樣做是因為沒有辦法確定 jpa 多對多對映的所有權,因為資料庫表不包含引用其他表的外來鍵。
  • @JoinColumn 指定將引用要被視為關聯所有者的實體的列的名稱,而 @ inverseJoinColumn 指定關係的反面名稱。 (你可以選擇任何一方作為所有者。只需確保這些方面的關係)。在我們的例子中,我們選擇 Employee 作為所有者,因此 @JoinColumn 引用連線表 employee_project 中的 idemployee 列,而 @InverseJoinColumn 引用 idproject,它是 jpa 多對多對映的反面。
  • Project 實體中的 @ManyToMany 註釋顯示反向關係,因此它使用 mappedBy = projects 來引用 Employee 實體中的欄位。

這裡可以參考完整的例子