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

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

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

    隨筆-61  評(píng)論-159  文章-0  trackbacks-0

    在hibernate中,component是某個(gè)實(shí)體的邏輯組成部分,它與實(shí)體的根本區(qū)別是沒有oid,
    component可以成為是值對(duì)象(DDD)

    采用component映射的好處:它實(shí)現(xiàn)了對(duì)象模型的細(xì)粒度劃分,層次會(huì)更分明,復(fù)用率會(huì)更高。

    例子:一個(gè)用戶類,包含比較多的用戶信息,姓名、地址、電子郵件、郵編、電話等等,因此這樣如果只集中一個(gè)POJO類的話,就造成對(duì)象模型的力度比較粗,因此有必要重新劃分對(duì)象粒度,提供程序運(yùn)行效率。

    因此把User劃分為User和Contact兩個(gè)類

    1、User的POJO類

    public class User {
     private int id;
     private String name;
     private Contact contact;

    //省略setter、getter方法
    }
    2、從User中劃分出來的Contact類

    public class Contact {
     private String email;
     private String address;
     private String zipCode;
     private String contactTel;

    //省略setter、getter方法
    }
    3、User的映射文件User.hbm.xml

     1<?xml version="1.0"?>
     2<!DOCTYPE hibernate-mapping PUBLIC 
     3    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     4    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     5<hibernate-mapping package="org.apple.hibernate">
     6    <class name="User" table="t_user">
     7        <id name="id">
     8            <generator class="native"/>
     9        </id>
    10         <property name="name"/>
    11         <component name="contact">
    12             <property name="email"/>
    13             <property name="address"/>
    14             <property name="zipCode"/>
    15             <property name="contactTel"/>
    16         </component>
    17    </class>
    18</hibernate-mapping>

    4、數(shù)據(jù)庫(kù)表結(jié)構(gòu):

    mysql> desc t_user;
    +------------+--------------+------+-----+---------+----------------+
    | Field      | Type         | Null | Key | Default | Extra          |
    +------------+--------------+------+-----+---------+----------------+
    | id              | int(11)           | NO    | PRI | NULL   | auto_increment |
    | name         | varchar(255) | YES  |        | NULL    |                         |
    | email         | varchar(255) | YES  |        | NULL    |                         |
    | address     | varchar(255) | YES  |        | NULL    |                         |
    | zipCode    | varchar(255) | YES  |        | NULL    |                         |
    | contactTel | varchar(255) | YES  |        | NULL    |                         |
    +------------+--------------+------+-----+---------+----------------+
    6 rows in set (0.02 sec)

    5、測(cè)試方法:
     1public void testSave1()
     2    {
     3        Session session = null;
     4        try {
     5            session = HibernateUtil.getSession();
     6            session.beginTransaction();
     7            User u = new User();
     8            u.setName("張三");
     9            Contact contact = new Contact();
    10            contact.setAddress("********");
    11            contact.setEmail("*****@163.com");
    12            contact.setZipCode("000000000");
    13            contact.setContactTel("1234567890");
    14            u.setContact(contact);
    15            session.save(u);
    16            session.beginTransaction().commit();
    17        }
     catch (Exception e) {
    18            e.printStackTrace();
    19            session.beginTransaction().rollback();
    20        }
    finally{
    21            session.close();
    22        }

    23        
    24    }

    PS、由于Contact沒有映射文件,在User中使用了Component映射標(biāo)簽,加入Contact里面的屬性,所以在測(cè)試方法里面不用調(diào)用session.save(contact);,只調(diào)用第15行中的u.setContact(contact);即可。

    -------------------------------------------------------------------------------------------------
    PS:本博客文章,如果沒有注明是有“轉(zhuǎn)”字樣,屬于本人原創(chuàng)。如果需要轉(zhuǎn)載,務(wù)必注明作者文章的詳細(xì)出處地址,否則不允許轉(zhuǎn)載,多謝合作!
    posted on 2008-10-23 23:19 apple0668 閱讀(694) 評(píng)論(0)  編輯  收藏 所屬分類: hibernate
    主站蜘蛛池模板: 曰韩无码AV片免费播放不卡| 亚洲精品免费在线| 国产亚洲精品2021自在线| 夜夜嘿视频免费看| 亚洲熟妇无码一区二区三区导航 | 免费无码中文字幕A级毛片| 中文字幕精品亚洲无线码一区应用 | 午夜一区二区免费视频| 亚洲人av高清无码| 免费v片在线观看无遮挡| 看Aⅴ免费毛片手机播放| 亚洲精品国产精品乱码不卞| 免费人成大片在线观看播放电影| 亚洲国产午夜中文字幕精品黄网站| 亚洲精品国产日韩无码AV永久免费网| 久久精品国产精品亚洲下载| 日本在线免费观看| 亚洲乱码无限2021芒果| 国产自产拍精品视频免费看| 一区二区三区免费视频观看 | 亚洲av无码乱码在线观看野外| 精品无码国产污污污免费网站国产| 亚洲国产精品无码久久久不卡| 亚洲精品国产免费| 精品国产日韩亚洲一区在线| 相泽亚洲一区中文字幕| 久视频精品免费观看99| 亚洲另类无码专区丝袜| 成人亚洲性情网站WWW在线观看| 久久精品国产大片免费观看 | 中国一级毛片免费看视频| 4444亚洲国产成人精品| 精品少妇人妻AV免费久久洗澡| 国产精品偷伦视频免费观看了| 久久久久亚洲av无码专区 | 日韩免费高清视频| 拍拍拍无挡视频免费观看1000| 亚洲中文字幕久在线| 亚洲国产精品成人一区| 久久免费动漫品精老司机| 亚洲精品无播放器在线播放|