JPA物件關係模型之繼承對映策略

2021-06-09 23:39:15 字數 797 閱讀 1950

single-table 策略:這是繼承對映中的預設策略,在不特別指明的情況下,系統預設就是採用這種對映策略進行對映的。這個策略的對映原則就是父類包括子類中新新增的屬性全部對映到一張資料庫

表中,資料庫

表中有乙個自動生成的字段用來儲存區分不同的子類的資訊。

joined-subclass 策略:這種對映策略中,繼承關係中的每乙個實體類,無論是具體類 (concrete entity) 或者抽象類 (abstract entity),資料庫中都有乙個單獨的表與他對應。子實體對應的表中不含有從根實體繼承而來的屬性,它們之間通過共享主鍵的方式進行關聯。

table-per-concrete-class 策略:這個策略就是將繼承關係中的每乙個實體對映到資料庫中的乙個單獨的表中,與「joined」策略不同的是,子實體對應的表中含有從根實體繼承而來的屬性。這種策略在 jpa2.0 中仍然是自由選取得,也就是說實現 jpa2.0 規範的持久化引擎,如 toplink,hibernate 等 , 仍然可以自由選取是否實現這種策略。

得益於註解 (annotation) 方式的使用,jpa 2.0 中實現繼承關係的對映非常簡單。當實體 (entity) 之間有繼承關係的時候,一定有乙個根實體 (root entity),jpa2.0 中只需要在這個根實體 (root entity) 上標註 @inheritance 註解並且指明想要採用的對映策略就可以了。如果是不用 @inheritance 註解,或者使用了 @inheritance 註解但是沒有指明所要採用的對映策略的時候,預設就是採用單錶策略 (single-table strategy)。下面用圖 1 這個繼承關係分別說明這三種對映策略的使用。

JPA 物件關係對映之關聯關係對映策略

關聯關係對映 關聯關係對映,是對映關係中比較複雜的一種對映關係,總的說來有一對 一 一對多和多對多幾種關係。細分起來他們又有單向和雙向之分。王 漢敏,軟體工程師,ibm 2013 年 6 月 17 日 開始您的試用 關聯關係對映,是對映關係中比較複雜的一種對映關係,總的說來有一對 一 一對多和多對多...

JPA實體關係對映之注釋

單向一對一 onetomany cascade joincolumn name joincolumn注釋的是儲存表與表關係的字段 雙向一對一 onetoone joincolumn name joincolumn注釋的是儲存表與表關係的字段 雙向一對一 2 onetoone mapedby 單向一對...

JPA實體關聯關係對映之概述

一 簡介 首先來說關聯關係是物件導向分析,物件導向設計最重要的部分,jpa是完全可以通過對映來簡化資料持久化到資料,和 hibernate 一樣,jpa 的關聯關係也分為兩種,一種是單向關聯,一種是雙向關聯 單向關聯 只需要單向訪問關聯端,比如說 我們只能通過某一學期訪問這學期的課程,而不能通過課程...