blogjava's web log

          blogjava's web log
          ...

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

          先看先看由滿江紅翻譯團(tuán)隊(duì)(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 (可選): 指定一個(gè)類或者接口,在延遲裝載時(shí)作為代理使用。

          (4)

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

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

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


          好了。。看 一個(gè)例子
          看這個(gè)配置文件

          <? 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
          測(cè)試。。。
          //插入
          ????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 @ 2006-04-14 21:50 record java and net 閱讀(593) | 評(píng)論 (0)編輯 收藏

          第一個(gè)叼跟煙。帶眼睛的是我的QQ show

          he





          posted @ 2006-04-13 16:05 record java and net 閱讀(591) | 評(píng)論 (3)編輯 收藏
               摘要: 目標(biāo) 了解解析器DOM的使用一個(gè)例子--java中操作xml|(添加。刪除 和顯示)解析器概述1.解析是讀取文檔并分解為元素的過程 1.1 XML處理器(通常稱為解析器)??? ---Web 應(yīng)用程序的基本構(gòu)建快??? ----解析 XML 并為應(yīng)用程序提供其所需的信息解析器的類型?進(jìn)行驗(yàn)證的解析器?? ----檢查 XML 文檔的有效性和格式規(guī)范1.2.2不進(jìn)行驗(yàn)證的解析器-...  閱讀全文
          posted @ 2006-04-12 00:42 record java and net 閱讀(3569) | 評(píng)論 (2)編輯 收藏
               摘要: 還是和前面一樣。。先看先看由滿江紅翻譯團(tuán)隊(duì)(RedSaga Translate Team)翻譯的配置說明每個(gè)子類可能被映射到他自己的表中(每個(gè)子類一個(gè)表的策略)。被繼承的狀態(tài)通過和超類的表關(guān)聯(lián)得到。我們使用<joined-subclass>元素。 <joined-subclass name="ClassName" (1)...  閱讀全文
          posted @ 2006-04-11 22:28 record java and net 閱讀(3422) | 評(píng)論 (1)編輯 收藏
               摘要: 先看由滿江紅翻譯團(tuán)隊(duì)(RedSaga Translate Team)翻譯的子類(subclass)說明,再來看我們的例子多態(tài)持久化需要為父類的每個(gè)子類都進(jìn)行定義。對(duì)于“每一棵類繼承樹對(duì)應(yīng)一個(gè)表”的策略來說,就需要使用<subclass>定義。 <subclass name="ClassName" (1...  閱讀全文
          posted @ 2006-04-09 00:18 record java and net 閱讀(2248) | 評(píng)論 (1)編輯 收藏
          僅列出標(biāo)題
          共31頁: First 上一頁 23 24 25 26 27 28 29 30 31 下一頁 

          導(dǎo)航

          常用鏈接

          留言簿(44)

          新聞檔案

          2.動(dòng)態(tài)語言

          3.工具箱

          9.文檔教程

          友情鏈接

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 常熟市| 凤山县| 香格里拉县| 洱源县| 宿松县| 葫芦岛市| 灵石县| 自贡市| 江安县| 裕民县| 锡林郭勒盟| 磐石市| 夏河县| 富蕴县| 南雄市| 金塔县| 海丰县| 甘孜县| 临桂县| 建始县| 谷城县| 乌什县| 上思县| 论坛| 纳雍县| 额尔古纳市| 新野县| 商都县| 普安县| 盐山县| 法库县| 昭通市| 岳普湖县| 河北省| 巩义市| 元谋县| 巴塘县| 炉霍县| 富顺县| 安宁市| 肇庆市|