<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    千里冰封
    JAVA 濃香四溢
    posts - 151,comments - 2801,trackbacks - 0
    繼承映射策略之----每個具體類一張表

    昨天我們看了繼承關系中的實現,昨天是用一張表保存所有級別的類,今天我們來了解一下第二種實現方法,每一個類一個單獨的表的實現,在數據庫我們的例子表現如下:

    create table Person (
       id 
    integer primary key not null,
       firstName 
    varchar(255),
       lastName 
    varchar(255),
    );

    create table Customer (
       id 
    integer primary key not null,
       firstName 
    varchar(255),
       lastName 
    varchar(255),
       street 
    varchar(255),
       city 
    varchar(255),
       state 
    varchar(255),
       zip 
    varchar(255),
    );

    create table Employee (
       id 
    integer primary key not null,
       firstName 
    varchar(255),
       lastName 
    varchar(255),
       street 
    varchar(255),
       city 
    varchar(255),
       state 
    varchar(255),
       zip 
    varchar(255),
       employeeId 
    integer,
    );

    此種方式和SINGLE_TABLE的最大的不同就是這些表里面沒有了辨別器這一列了,我們不再需要為每一個特定的類設定一個標志以識別它是哪個具體的類了。在這種方式的實現里,每一張表都保存了該類的所有的屬性,當然也包括它從父類中繼承過來的屬性。我們看看代碼吧:

    @Entity
    @Inheritance(strategy
    =InheritanceType 
    .TABLE_PER_CLASS)
     

    public class Person {

    }

    @Entity
    public class Customer extends Person {

    }

    @Entity
    public class Employee extends Customer {

    }

    從以上代碼可以看出,唯一需要的元數據注釋只有InheritanceType,并且這個注釋僅僅是用在基類Person上面而已,在他的子類中,根本看不出來有什么不一樣,它們就像一個很普通的實體BEAN一樣。

    優點:
    相比于SINGLE_TABLE的映射策略來說,此策略的優點是你可以在每一個子類上定義一些屬性的約束,比方說某些屬性不能為null等等,這些都是可以定義的,但是你在SINGLE_TABLE里面卻是不能定義的,它還有一個優點就是,它對于處理那些遺留的數據庫來說更加的容易一些,因為它更靈活一些。
    缺點:
    此策略依然是不規范的,沒有做到物盡其用,因為它為每一個子類都重復定義了很多列,這勢必給數據庫的資源造成了浪費,當需要進行多態加載的時候,就會進行多次查詢,這樣也會降低數據庫的查詢效率,這樣比較起來就沒有SINGLE_TABLE 策略速度快,但是它在別的方面性能會好一些,在開發你的實體BEAN的時候,最好不要用這種策略,除非你不得不這樣做,否則還是用第三種策略來得更好一些,那第三種策略是怎樣實現的呢,我們下次再講。




    盡管千里冰封
    依然擁有晴空

    你我共同品味JAVA的濃香.
    posted on 2007-10-09 00:21 千里冰封 閱讀(941) 評論(0)  編輯  收藏 所屬分類: JAVAEE
    主站蜘蛛池模板: 亚洲av激情无码专区在线播放| 精品亚洲aⅴ在线观看| 免费视频精品一区二区| 国产亚洲精品激情都市| 色欲A∨无码蜜臀AV免费播| 亚洲蜜芽在线精品一区| 无码国产精品久久一区免费 | 亚洲av永久中文无码精品| 国产一级淫片视频免费看| eeuss影院免费直达入口| 精品亚洲麻豆1区2区3区| 国产免费变态视频网址网站| 久久免费视频网站| 久久亚洲精品成人无码| 亚洲国产老鸭窝一区二区三区| 成年人视频在线观看免费| 国产一区二区免费视频| 亚洲国产精品无码久久| 亚洲国产精品国自产电影| 日韩视频免费一区二区三区| 成人精品一区二区三区不卡免费看| 亚洲一卡2卡三卡4卡无卡下载 | 国产亚洲美女精品久久久| 国产成在线观看免费视频| 九九99热免费最新版| 久久亚洲国产成人影院| 97国产在线公开免费观看| 亚洲成人免费在线观看| 亚洲人成电影在线播放| 国产色婷婷精品免费视频| 久久免费高清视频| 黄页网站在线观看免费| 亚洲av无码国产综合专区| 在线A亚洲老鸭窝天堂| 日本特黄特色aa大片免费| 亚洲高清视频免费| 最近2019年免费中文字幕高清 | 无码人妻一区二区三区免费n鬼沢| 国产在亚洲线视频观看| 亚洲成AV人片久久| 亚洲成亚洲乱码一二三四区软件|