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

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

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

    blogjava's web log

    blogjava's web log
    ...

    hibernate繼承---聯(lián)合子類 已更新(六)

    這篇和上一篇http://www.tkk7.com/wujun/archive/2006/04/11/40527.html
    不同的地方在于配置文件上。
    上一篇采用的是joined-subclass?

    先看先看由滿江紅翻譯團(tuán)隊(RedSaga Translate Team)翻譯的聯(lián)合子類說明..

    <union-subclass
            name="ClassName"                    (1)
            table="tablename"                   (2)
            proxy="ProxyInterface"              (3)
            lazy="true|false"                   (4)
            dynamic-update="true|false"
            dynamic-insert="true|false"
            schema="schema"
            catalog="catalog"
            extends="SuperclassName"
            abstract="true|false"
            persister="ClassName"
            subselect="SQL expression"
            entity-name="EntityName"
            node="element-name">
    
            <property .... />
            .....
    </union-subclass>
    (1)

    name: 子類的全限定名。

    (2)

    table: 子類的表名

    (3)

    proxy (可選): 指定一個類或者接口,在延遲裝載時作為代理使用。

    (4)

    lazy (可選, 默認(rèn)是 true): 設(shè)置為 lazy="false" 禁止使用延遲裝載。

    這種映射策略不需要指定辨別標(biāo)志(discriminator)字段。

    更多關(guān)于繼承映射的信息,參考第?10?章 繼承映射(Inheritance Mappings)


    好了。。看 一個例子
    看這個配置文件

    <? xml?version="1.0" ?>
    <! DOCTYPE?hibernate-mapping
    ????PUBLIC?"-//Hibernate/Hibernate?Mapping?DTD//EN"
    ????"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"
    >

    < hibernate-mapping >

    ????
    < class? name ="com.test.Dog" ?table ="dog" > ??

    ????????
    < id? name ="aid" ?type ="string" ?unsaved-value ="null" ? >
    ????????????
    < column? name ="aid" ?sql-type ="char(32)" ?not-null ="true" />
    ????????????
    < generator? class ="uuid.hex" />
    ????????
    </ id >

    ????????
    < property? name ="dname" >
    ????????????
    < column? name ="dname" ?sql-type ="varchar(16)" />
    ????????
    </ property >

    ????
    </ class >

    ????
    < class? name ="com.test.Cat" ?table ="cat" > ??

    ????????
    < id? name ="aid" ?type ="string" ?unsaved-value ="null" ? >
    ????????????
    < column? name ="aid" ?sql-type ="char(32)" ?not-null ="true" />
    ????????????
    < generator? class ="uuid.hex" />
    ????????
    </ id >

    ????????
    < property? name ="cname" >
    ????????????
    < column? name ="cname" ?sql-type ="varchar(16)" />
    ????????
    </ property >

    ????
    </ class >

    </ hibernate-mapping >

    表結(jié)構(gòu):

    create ? table ?dog
    (aid?
    varchar ( 32 )? not ? null ? primary ? key ,
    ?dname?
    varchar ( 16 )
    )

    create ? table ?cat
    (aid?
    varchar ( 32 )? not ? null ? primary ? key ,
    ?cname?
    varchar ( 16 )
    )


    寫VO
    Amimal.java

    package ?com.test;

    public ? class ?Animal
    {
    ????
    private ?String?aid;
    ???
    // get?set

    Dog.java

    package ?com.test;

    public ? class ?Dog? extends ?Animal
    {
    ????
    private ?String?dname;
    ??
    // get?set
    Cat.java
    package?com.test;

    public?class?Cat?extends?Animal
    {
    ????
    private?String?cname;
    ??
    //get?set
    測試。。。
    //插入
    ????public?void?doCreate()
    ????
    {
    ????????
    try
    ????????
    {
    ????????????session?
    =?sf.openSession();

    ????????????Dog?dog?
    =?new?Dog();
    ????????????dog.setDname(
    "small?dog");
    ????????????Cat?cat?
    =?new?Cat();
    ????????????cat.setCname(
    "small?cat");
    ????????????session.save(dog);
    ????????????session.save(cat);
    ????????????session.flush();
    ????????????session.connection().commit();

    ????????}

    ????????
    catch(HibernateException?ex)
    ????????
    {
    ????????????ex.printStackTrace();
    ????????}

    ????????
    catch(SQLException?ex1)
    ????????
    {
    ????????????ex1.printStackTrace();
    ????????}

    ????????
    finally
    ????????
    {
    ????????????????
    try{
    ????????????????????session.close();
    ????????????????}

    ????????????????
    catch(HibernateException?ex2){
    ????????????????}

    ????????}


    ????}

    ????
    //查詢
    ????public?void?doQuery()
    ????
    {
    ????????
    try{
    ????????????session?
    =?sf.openSession();
    ????????????Query?q?
    =?session.createQuery("select?d?from?Dog?as?d");
    ????????????List?l?
    =?q.list();
    ????????????Dog?dog?
    =?null;
    ????????????Cat?cat?
    =?null;
    ????????????
    for(int?i=0;i<l.size();i++)
    ????????????
    {
    ????????????????dog?
    =?(Dog)l.get(i);
    ????????????????System.out.println(dog.getDname());
    ????????????}

    ????????}

    ????????
    catch(HibernateException?ex){
    ????????????ex.printStackTrace();
    ????????}

    ????????
    finally{
    ????????????
    try{
    ????????????????session.close();
    ????????????}

    ????????????
    catch(HibernateException?ex2){
    ????????????}

    ????????}

    ????}

    posted on 2006-04-14 21:50 record java and net 閱讀(593) 評論(0)  編輯  收藏 所屬分類: java

    導(dǎo)航

    常用鏈接

    留言簿(44)

    新聞檔案

    2.動態(tài)語言

    3.工具箱

    9.文檔教程

    友情鏈接

    搜索

    最新評論

    主站蜘蛛池模板: 四虎成人免费网址在线| 亚洲高清无码专区视频| 亚洲精品中文字幕无码A片老| 国产免费怕怕免费视频观看| 久久最新免费视频| 中文字幕亚洲免费无线观看日本| 在线观看免费宅男视频| 久久久久女教师免费一区| 亚洲最大黄色网址| 亚洲国产成人久久精品99 | 久久久无码精品亚洲日韩蜜桃 | 亚洲色偷偷综合亚洲AVYP| 97性无码区免费| xvideos永久免费入口| 亚洲噜噜噜噜噜影院在线播放| 免费成人黄色大片| 免费观看激色视频网站bd| 男人免费视频一区二区在线观看 | 亚洲成a人片在线播放| 91av免费观看| www.av在线免费观看| 亚洲一区二区免费视频| 在线精品亚洲一区二区三区| 成年在线网站免费观看无广告| 国产在线精品观看免费观看| 亚洲中文字幕久久精品无码VA| 亚洲成色WWW久久网站| 免费一级做a爰片性色毛片| 57pao国产成视频免费播放| caoporn国产精品免费| 国产AV旡码专区亚洲AV苍井空 | 人妻无码中文字幕免费视频蜜桃| 亚洲特级aaaaaa毛片| 亚洲日韩精品一区二区三区无码| 精品免费国产一区二区三区| 91禁漫免费进入| 在线免费观看h片| 国产A∨免费精品视频| 国产亚洲视频在线观看| 亚洲国产视频久久| 亚洲综合色丁香麻豆|