學生老師多對多jpa

2021-08-30 10:26:22 字數 716 閱讀 9397

學生student,與老師teacher是多對多的關係。

需要一張中間表,teacher_student,裡面有兩個欄位teacherid,studentid共同組成主鍵.

teacher_student不用生成乙個實體類.

在teacher類裡面:

@manytomany(cascade = cascadetype.persist)

@jointable(name = "teacher_student",

joincolumns = ,

inversejoincolumns =

)private liststudents;

首先宣告manytomany,cascade一定要用persist,當我們新增老師資料的時候就會在teacher_student裡面自動新增對應的資料,而當我們刪除老師資料的時候就會自動在teacher_student表裡面自動刪除相應的記錄.

接著是用到了jointable,name屬性為中間表的名字。

設定joincolumns屬性,指定關係維護端(owner side),即teacher類本身.使用joincolumn,name指向資料庫字段,referencedcolumnname指向實體類裡面的屬性,當資料庫欄位與實體類的名字相同的時候可以省略.

設定inversejoincolumns,指定關係被維護端(inverse side),即對映到student類,設定方法與joincolumns一樣.

JPA單向多對多實體對映

知識點梳理 a 註解配置時使用 jointable配置中間表,joincolumns配置當前類對應的主鍵id,inversejoincolumn反向配置對應的表主鍵id b 建表時,中間表配置雙主鍵 雙外來鍵 單向多對多 create table sys role id varchar 64 pri...

jpa多對一對映

1.插入 建乙個部門類dept和乙個員工類emp emp對dept是多對一的關係 因為乙個部門有多個員工,而乙個員工只有乙個部門 emp類中新增乙個dept的屬性 manytoone註解表示了員工和部門是多對一的關係 joincolumn註解的name屬性表示外鍵名 emp表中會多出乙個外來鍵列 多...

jpa 多對多對映 記下來 以便查詢

entity table name brands public class brand inversejoincolumns private listdealers private integer status public integer getstatus public void setstat...