posts - 54,  comments - 1,  trackbacks - 0
          組件(Component)映射多用來表示對象的從屬關系(組合,聚合).比如一個學生可能有姓名,年齡,性別,成績等屬性,其中成績是另一個對象,又有科目,分數屬性,這里就需要用組件映射來表是之間的關系.

          Java代碼:
          // 學生
          class Student{
            
          private
           String name;
            
          private int
           age;
            
          private
           String sex;
            
          private
           Grade grade;

          }

          // 成績
          class Grade{
            
          private
           String subject;
            
          private float
           score;

          }

          數據庫:

          -- 學生表
          create table STUDENT ( 
              ID 
          char(32not null

              NAME 
          varchar(16not null

              SEX 
          char(1
          ), 
              AGE 
          integer

              
          primary key
           (ID) 
          );

          -- 成績表

          create table GRADE ( 
              ID 
          char(32not null

              student_id 
          char(32not null

              SUBJECT 
          varchar(10
          ), 
              SCORE 
          float

              
          primary key
           (ID),
              
          foreign key
           (student_id) 
          );

          Hibernate映射文件:
          <?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="Student" table="STUDENT">
           

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

                  
          <property name="name" type="string" not-null="true">
           
                      
          <column name="NAME" length="16" not-null="true"/>
           
                  
          </property>
           
                  
          <property name="sex" type="char" column="SEX"/>
           
                  
          <property name="age" type="int" column="AGE"/>
           
                  
                  
          <component name="grade" class="Grade">
           
                      
          <property name="subject" type="string" column="SUBJECT" not-null="true"/>
           
                      
          <property name="score" type="float" column="SCORE" not-null="true"/>
           
                  
          </component>
           

              
          </class>
           
          </hibernate-mapping>
          posted on 2005-12-22 18:46 ZhuJun 閱讀(785) 評論(0)  編輯  收藏 所屬分類: 開發手記 、開源項目

          蜀中人氏,躬耕于珠海

          <2005年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(2)

          隨筆分類(71)

          隨筆檔案(54)

          博客

          文檔

          站點

          論壇

          搜索

          •  

          積分與排名

          • 積分 - 50999
          • 排名 - 976

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 东光县| 安新县| 重庆市| 辉县市| 通州区| 青铜峡市| 龙陵县| 莱州市| 仙桃市| 离岛区| 平乡县| 荆门市| 石狮市| 儋州市| 花垣县| 绥宁县| 宁波市| 兰溪市| 科技| 清水县| 上林县| 金山区| 太白县| 开封市| 正蓝旗| 江安县| 邵武市| 汉源县| 天镇县| 青岛市| 林周县| 洪洞县| 大冶市| 西昌市| 芒康县| 凤山市| 古浪县| 宜君县| 潼关县| 曲松县| 武隆县|