JPA(3) 表關聯關係(多對一、一對多、多對多、一對一)
小提示:外來鍵在哪邊,那邊就是多方哦!!
單向多對一: 給多方加上 @ManyToOne
ex:【產品類Product--多方 ,產品分類ProductDir--一方】
單向一對多:給一方加上 @OneToMany
ex:【產品類Product--多方 ,產品分類ProductDir--一方】
雙向多對一、一對多: 給多方加上 @ManyToOne,給一方加上 @OneToMany
ex:【部門類Department--一方 ,員工類Employee--多方】
多對多:有中間表的就是多對多
ex:【多個teacher,多個student】
單向多對多 -->給其中一個多方加 @ManyToMany
雙向多對多:2個多方都加 @ManyToMany
一對一: 加上 @OneToOne
ex:【一個qq號對應一個qq空間】 (下面是唯一外來鍵一對一)
如何優化JPA??
①使用雙向一對多關聯,不使用單向一對多
②表欄位要少,表關聯不要怕多,有二級快取撐腰,設計表儘量達到第三方式
③組合關係集合使用list(順序,重複),多對多集合使用set
④配置物件二級快取,不使用集合二級快取,如果使用了集合二級快取,集合裡面的物件也必須二級快取;查詢快取(jpql查詢),沒有查詢條件才使用查詢快取
⑤不用一對一,用多對一取代(不要使用共享主鍵一對一,使用唯一外來鍵一對一)
⑥靈活使用單向多對一關聯
相關文章
- Spring Data JPA 之 一對一,一對多,多對多 關係對映Spring
- MyBatis表關聯 一對多 多對一 多對多MyBatis
- spring data jpa關聯查詢(一對一、一對多、多對多)Spring
- gorm 關係一對一,一對多,多對多查詢GoORM
- JPA中對映關係詳細說明(一對多,多對一,一對一、多對多)、@JoinColumn、mappedBy說明APP
- Spring Boot 入門系列(二十八) JPA 的實體對映關係,一對一,一對多,多對多關係對映!Spring Boot
- 模型關聯一對多模型
- MyBatis加強(1)~myBatis物件關係對映(多對一關係、一對多關係)、延遲/懶載入MyBatis物件
- Mybatis【一對多、多對一、多對多】知識要點MyBatis
- spring data jpa 多對一聯表查詢Spring
- jpa一對多查詢
- mybatis一對多&&多對一處理MyBatis
- MyBatis07-(多對一、一對多)MyBatis
- Mybatis一對多、多對一處理MyBatis
- Mybatis09_一對一、一對多、多對多、延遲載入MyBatis
- mybatis的一對多,多對一,以及多對對的配置和使用MyBatis
- [增刪改查] 最規範的 JPA 一對多/多對一 CRUD 示例
- Laravel多對多模型關聯Laravel模型
- 在 CSDN 上面看到的一篇關於 Laravel 關聯表模型和多對多關係的文章Laravel模型
- [增刪改查] 最簡單的 JPA 一對多/多對一 CRUD 設計
- spring-data-jpa一對多、多對多雙向關聯,查詢操作的時候進入死迴圈問題Spring
- 為什麼反向關聯 一對一和一對多都是同一個方法
- Rails 一對多AI
- 6.Hibernate多對多關係建立
- 資料庫表中一對多關係怎麼設計?資料庫
- laravel 多對多關聯刪除中間表Laravel
- Laravel 遠端一對多關係,中間表模型和關聯模型不能是同一個模型Laravel模型
- 多對一處理 和一對多處理的處理
- mORMot2 定義多對多關係ORM
- Laravel 中的多對多關係詳解Laravel
- hibernate中多對多關係的維護
- EF Code First中的主外來鍵約定和一對一、一對多關係的實現
- MyBatis 使用resultMap 以及 一對一和一對多MyBatis
- Laravel 多對多關聯模型 CURD 詳解Laravel模型
- Laravel 之多對多的關係模型Laravel模型
- 7.Hibernate一對多關係建立與錯誤解決
- #MyBatis多表查詢 #多對一、一對多的兩種實現方式 @FDDLCMyBatis
- hibernate一對多、多對多的實體設計和配置檔案配置