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查詢),沒有查詢條件才使用查詢快取
⑤不用一對一,用多對一取代(不要使用共享主鍵一對一,使用唯一外來鍵一對一)
⑥靈活使用單向多對一關聯
相關文章
- MyBatis表關聯 一對多 多對一 多對多MyBatis
- Spring Data JPA 之 一對一,一對多,多對多 關係對映Spring
- spring data jpa關聯查詢(一對一、一對多、多對多)Spring
- gorm 關係一對一,一對多,多對多查詢GoORM
- JPA中對映關係詳細說明(一對多,多對一,一對一、多對多)、@JoinColumn、mappedBy說明APP
- Spring Boot 入門系列(二十八) JPA 的實體對映關係,一對一,一對多,多對多關係對映!Spring Boot
- 模型關聯一對多模型
- MyBatis加強(1)~myBatis物件關係對映(多對一關係、一對多關係)、延遲/懶載入MyBatis物件
- hibernate(三) 一對多對映關係
- Mybatis【一對多、多對一、多對多】知識要點MyBatis
- jpa一對多查詢
- Mybatis一對多、多對一處理MyBatis
- mybatis一對多&&多對一處理MyBatis
- MyBatis07-(多對一、一對多)MyBatis
- Mybatis09_一對一、一對多、多對多、延遲載入MyBatis
- 【Evil 域】SQL函式——將一對多關係轉換成一對一關係SQL函式
- mybatis的一對多,多對一,以及多對對的配置和使用MyBatis
- spring data jpa 多對一聯表查詢Spring
- Hibernate對映檔案一對多關係薦
- mybatis入門基礎(六)----高階對映(一對一,一對多,多對多)MyBatis
- 多對一(主鍵)關係,create問題
- [增刪改查] 最規範的 JPA 一對多/多對一 CRUD 示例
- Laravel多對多模型關聯Laravel模型
- 多對多關係<EntityFramework6.0>Framework
- [增刪改查] 最簡單的 JPA 一對多/多對一 CRUD 設計
- 我的一個主表和一個從表是一對多關係,但是從表又與其他表有一對多等關係,
- 在 CSDN 上面看到的一篇關於 Laravel 關聯表模型和多對多關係的文章Laravel模型
- hibernate之關於使用連線表實現多對一關聯對映
- Rails 一對多AI
- hibernate(四) 雙向多對多對映關係
- spring-data-jpa一對多、多對多雙向關聯,查詢操作的時候進入死迴圈問題Spring
- laravel 多對多關聯刪除中間表Laravel
- 資料庫表中一對多關係怎麼設計?資料庫
- 關於Hibernate一對多關聯儲存問題
- 多對一處理 和一對多處理的處理
- EF:Fluent API 把一對多對映為一對一API
- Laravel 遠端一對多關係,中間表模型和關聯模型不能是同一個模型Laravel模型
- Laravel 中的多對多關係詳解Laravel