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

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

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

    Dev@Free

    zJun's Tech Weblog

    [Hibernate Annotations] 嵌入組件(Component)映射

    組件(Component)類必須在類一級(jí)定義 @Embeddable 注解.

    在特定的實(shí)體的關(guān)聯(lián)屬性上使
    @Embedded @AttributeOverride 注解可以覆蓋該屬性對(duì)應(yīng)的嵌入式對(duì)象的字段映射:

    @Entity
    public ? class ?Person? implements ?Serializable?{

    // ?Persistent?component?using?defaults
    Address?homeAddress;

    @Embedded
    @AttributeOverrides(?{
    @AttributeOverride(name
    = " iso2 " ,?column? = ?@Column(name = " bornIso2 " )?),
    @AttributeOverride(name
    = " name " ,?column? = ?@Column(name = " bornCountryName " )?)
    }?)
    Country?bornIn;

    }

    @Embeddable
    public ? class ?Address? implements ?Serializable?{
    String?city;
    Country?nationality;?
    // no?overriding?here
    }

    @Embeddable
    public ? class ?Country? implements ?Serializable?{
    private ?String?iso2;
    @Column(name
    = " countryName " )? private ?String?name;

    public ?String?getIso2()?{? return ?iso2;?}
    public ? void ?setIso2(String?iso2)?{? this .iso2? = ?iso2;?}

    public ?String?getName()?{? return ?name;?}
    public ? void ?setName(String?name)?{? this .name? = ?name;?}

    }

    說(shuō)明:

    1.
    Person 有兩個(gè)組件屬性,分別是 homeAddress bornIn . homeAddress 屬性并沒(méi)有注解. 但是Hibernate自動(dòng)檢測(cè)其對(duì)應(yīng)的Address類中的 @Embeddable 注解, 并將其看作一個(gè)持久化組件.

    2.對(duì)于Country中已映射的屬性,則使用
    @Embedded @AttributeOverride 注解來(lái)覆蓋原來(lái)的字段映射值。

    3.
    Address 對(duì)象中還內(nèi)嵌了 Country 對(duì)象, Hibernate通過(guò)在表達(dá)式中使用"."支持覆蓋多層嵌套(即嵌入式對(duì)象中還包括其他嵌入式對(duì)象)的字段映射.如下:

    @Embedded
    @AttributeOverrides(?{
    @AttributeOverride(name
    = " city " ,?column? = ?@Column(name = " fld_city " )?)
    @AttributeOverride(name
    = " nationality.iso2 " ,?column? = ?@Column(name = " nat_Iso2 " )?),
    @AttributeOverride(name
    = " nationality.name " ,?column? = ?@Column(name = " nat_CountryName " )?)
    // nationality?columns?in?homeAddress?are?overridden
    }?)
    Address?homeAddress;

    posted on 2007-03-07 16:17 zJun's帛羅閣 閱讀(3019) 評(píng)論(0)  編輯  收藏 所屬分類: 開(kāi)源軟件

    導(dǎo)航

    <2007年3月>
    25262728123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統(tǒng)計(jì)

    常用鏈接

    留言簿(15)

    隨筆分類

    隨筆檔案

    相冊(cè)

    收藏夾

    博客

    文檔

    站點(diǎn)

    論壇

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲三级视频在线| 亚洲国产一区视频| 亚洲人成在线中文字幕| 国产精品1024永久免费视频 | 亚洲精品在线视频| 老司机免费午夜精品视频| 免费又黄又硬又爽大片| 男人的天堂av亚洲一区2区| 国产91久久久久久久免费| 黄页免费视频播放在线播放| 亚洲成AV人网址| 两个人日本WWW免费版| 亚洲成年轻人电影网站www| 91成人免费观看| 2017亚洲男人天堂一| 国产伦一区二区三区免费| 国产高潮流白浆喷水免费A片 | 国产精品亚洲综合一区| 久久免费视频网站| 亚洲国产成人综合| 国产精品国产免费无码专区不卡| 天堂亚洲免费视频| 久久亚洲精品视频| 99精品国产免费久久久久久下载| 亚洲av无一区二区三区| 国产亚洲av人片在线观看| 59pao成国产成视频永久免费| 亚洲首页国产精品丝袜| 免费在线黄色网址| 免费国产在线视频| 亚洲综合成人婷婷五月网址| 免费一级毛片不卡在线播放| a级毛片高清免费视频就| xxx毛茸茸的亚洲| 亚洲色偷偷狠狠综合网| 亚洲精品免费在线视频| 国产偷国产偷亚洲高清人| 久久亚洲精品成人777大小说| 无码人妻久久一区二区三区免费丨| 免费福利在线观看| 亚洲精品中文字幕无码AV|