本文節選自電子書《Netkiller Architect 手劄》
出處:http://www.netkiller.cn
作者:netkiller , QQ:13721218, 訂閱号:netkiller-ebook
目錄
<dl></dl>
ORM的出現解決了程式猿學習資料庫學曆成本,也加快了開發的速度。程式猿無需再學習資料庫定義語言DDL以及資料庫用戶端,也無需關注建表這些繁瑣的工作,同時也降低了資料庫結構變更管理中與DBA頻繁溝通的成本。
在過去的兩年中我們采用 Spring Data JPA 定義資料庫,通路資料庫,積累了很多經驗,最終我們發現使用 Spring Data 實體定義完全可以代替 DBA 的模組化工作。
這是一個通用分類表,常見的父子關系加上path路徑
期望結果
我們希望為 name 和 path 字段增加普通索引
建立由多個字段組成的複合索引,如: "member_id", "articleId"
如下圖,我們将實作 categroy 和 article 的一對多關系
首先定義分類實體類
定義文章實體類
希望結果
現在我們已經将 categroy 與 article 兩張表一對多關系建立起來。
使用者與角色就是一個多對多的關系,多對多是需要中間表做關聯的。是以需要一個 user_has_role 表。
建立 User 表
建立 Role 表
最終産生資料庫表如下
orphanRemoval = true 可以實作資料級聯删除
<a href="https://yq.aliyun.com/articles/292290" target="_blank">找到并留住最佳員工</a>
<a href="https://yq.aliyun.com/articles/281143" target="_blank">讓程式猿和攻城獅更敬業</a>
<a href="https://yq.aliyun.com/articles/292610?spm=5176.8091938.0.0.jGbvd1" target="_blank">攻城獅的自我營銷</a>
<a href="https://yq.aliyun.com/articles/293697" target="_blank">人力資源管理·教育訓練與開發</a>