一口一口吃掉Hibernate(七) 繼承對映

2021-08-27 15:33:47 字數 1249 閱讀 2399

前幾篇博文中講到了常用的幾種關聯對映。其實hibernate中還有一種「省勁兒」的對映,那就是——「繼承對映」。

學了這麼多的關係映**,繼承對映,從字面上也能了解到猜到幾分。沒錯,繼承對映就是為繼承樹而設定的一種對映方案。

繼承對映的實現有三種策略:

我們還是用例項來說明一下,直接上圖吧:

pig和bird都繼承自animal,它們都有id,name,***,但是pig主要看weight,而bird主要看height,此時如果把這些資料存入到資料庫中,可以有3種方案,正好對應3種策略。

①. 只生成乙個table,對應的繼承對映策略是「單錶繼承」。如圖:

②. 每個類生成乙個table,對應的繼承策略是「類表繼承

」。如圖:

③.生成3張表,對應的策略是「具體表繼承

」。如圖:

第一種對應的對映檔案:使用discriminator和

subclass標籤

<?xml version="1.0"?>

discriminator,英文解釋是「辨別器

」。它是用於設定辨別資料的字段,放在id下面,同時使用subclass來配置不同的類,設定

discriminator-value,來辨別不同的資料。

第二種對映檔案:使用union-subclass標籤

<?xml version="1.0"?>

第三種對映檔案:使用

joined-subclass標籤

<?xml version="1.0"?>

以上三種策略,各有優缺點:

一口一口吃掉Struts(十) 異常自動處理機制

在通常的情況下,我們得到異常以後,需要將頁面導航到乙個錯誤提示的頁面,提示錯誤資訊。利用stuts我們可以採用兩種方式處理異常 一 程式設計式異常處理 即我們在action中呼叫業務邏輯層物件的方法時,用trycatch的方式來截獲異常之後,手工對異常進行處理 我們以前的開發過程中,都是使用程式設計...

運營 別總想一口吃個胖子

週日和兩位朋友聊了4個小時,連老黃在上海的讀者見面會都耽誤了,萬分抱歉。其實本來沒準備要寫這些,但想想,一則有點不知道寫點啥了,二則覺zamhbh得恐怕這狀況其實很多人會遇到。那麼,誰會看到,看到後如何去放在自己實際生活的某個層次去思考,那就是隨緣了。整件事兒比較簡單。在和兩位朋友以及最近一些讀者的...

胖子都是一口一口吃出來的,你看有誰能一步登天

我慢慢地長大,而後,兌現我對你的承諾。女人得學會承擔面對自己所有的痛苦。在愛情面前當付出真愛的時候女人永遠就是痛苦的承受者。不想你的日子,陽光特明媚。我們此生共赴天涯海角,不是遊走乙個地球,而是人間相伴。有人說 爸爸是女兒上輩子的情人。我對你,只有相信,沒有懷疑。a 此仇不報難嚥下這口惡氣啊。b 那...