Hibernate三種常用對映的優缺點 阿新 • • 發佈:2019-01-27 Hibernate三種繼承對映方式的比較 比較方面 每個具體類一張表 每個分層結構一張表 每個子類一張表 建立關係模型原則 每個具體類對應一張表,有多少具體類就需要建立多少個獨立的表 描述一個繼承關係只用一張表,也就是說子類所使用的表與父類相同 每個子類使用一張表,但這些子類所對應的表都關聯到基類所對應的表中 關係模型的優缺點 這種設計方式符合關係模型的設計原則,但有表中存在重複欄位的問題 缺點有二:首先表中引入的區分子類的欄位,也就是包括了描述其他欄位的欄位。其次,如果某個子類的某個屬性不能為空,那麼在資料庫一級不能設定該欄位not null(非空) 這種設計方式完全符合關係模型的設計原則,且不存在冗餘 可維護性 如果需要對基類進行修改,則需要對基類以及該類的子類所對應的所有表都進行修改 維護起來方便,只需要修改一個表 維護起來比較方便,對每個類的修改只需要修改其所對應的表 靈活性 對映的靈活性很大,子類可以包括基類屬性在內的每一個屬性進行單獨配置 靈活性差,表中冗餘欄位會隨著子類的增多而越來越多 靈活性很好,完全是參照物件繼承的方式進行配置 查詢效能 對於子類的查詢只需要訪問單獨的表,對父類查詢怎需要檢索所有的表 在任何情況下,都只需處理一個表 對於父類的查詢需要使用左外連結,對於子類查詢需要使用內連結 維護效能 對於單個物件持久話操作只需要處理一個表 對於單個物件的持久話操作只需要處理一個表 對於子類的持久話至少要處理兩個表