1...表與表之間的關聯:
一對一: A B 兩張表 A表中的每條的記錄對應的B的一條記錄
:一對一關系實現方式:
1:使用外鍵關聯
: 場景:使用客戶表和客戶拓展表
:在屬性上 添加一個@OneToOne代表一個對一個的關系 在屬性上添加@JoinColumn name 存儲外鍵的字段 referencedColumnNm 對方表的字段名稱 (可以省略)
2:使用主鍵關聯,兩個表 A B 的主鍵相同。
: 使用@PrimaryKeyJoinColumn 注解不需要配置屬性 雙方都需要添加
一對多: A B 兩張表 A表中的每條的記錄對應B表中多條的記錄 B表中多條的記錄對應A表中一條記錄
:場景:客戶和聯系人之間 一對多 一個客戶對應多個聯系人
:單方:1 添加一個屬性 記錄多的一方的信息 應該是一個集合 hashset 2 在屬性上添加一個注解 @OneToMany 3一定是多的一方記錄外鍵 參照一的一方的主鍵
:多方:1 在屬性上添加 注解 @ManyToOne 2 在屬性上添加 @joinColumn 注解
報錯:Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements
分析: 錯誤使用 1:單方:使用得 注解:@OneToMany 2:多方:在屬性上添加 注解 @OneToMany
正確使用:1:單方:使用得 注解:@OneToMany 2:多方:在屬性上添加 注解 @ManyToOne
提示:這種報錯大致都是為:@OneToMany 與@OneToMany 的錯用