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

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

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

    隨筆-124  評論-49  文章-56  trackbacks-0

    Component映射(值對象映射)

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

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

    <!--
      User:                             Comtact:
      private int id;                    private String email;
        private String name;         private String address;
        private Comtact comtact;     private String phone;
    -->
    <class name="User" table="t_user">
            
    <id name="id">
                
    <generator class="native"/>
            
    </id>
            
    <property name="name"/>
            
    <component name="comtact">
                
    <property name="email"/>
                
    <property name="address"/>
                
    <property name="phone"/>
            
    </component>
    </class>

    復(fù)合(聯(lián)合)主鍵映射

    通常將復(fù)合主鍵相關(guān)的屬性,單獨(dú)放到一個類中
     * 此類必須實(shí)現(xiàn)序列化接口
     * 覆寫hashcode和equals方法

    <class name="com.bjsxt.hibernate.FiscalYearPeriod" table="t_fiscal_year_period">
            
    <composite-id name="fiscalYearPeriodPK">
                
    <key-property name="fiscalYear"/>
                
    <key-property name="fiscalPeriod"/>    
            
    </composite-id>
            
    <property name="beginDate"/>
            
    <property name="endDate"/>
            
    <property name="periodSts"/>
        
    </class>

    public class FiscalYearPeriodPK implements Serializable {
        
    //核算年
        private int fiscalYear;
        
    //核算月
        private int fiscalPeriod;
        
    public int getFiscalYear() {
            
    return fiscalYear;
        }

        
    public void setFiscalYear(int fiscalYear) {
            
    this.fiscalYear = fiscalYear;
        }

        
    public int getFiscalPeriod() {
            
    return fiscalPeriod;
        }

        
    public void setFiscalPeriod(int fiscalPeriod) {
            
    this.fiscalPeriod = fiscalPeriod;
        }


        @Override
        
    public int hashCode() {
            
    final int prime = 31;
            
    int result = 1;
            result 
    = prime * result + fiscalPeriod;
            result 
    = prime * result + fiscalYear;
            
    return result;
        }


        @Override
        
    public boolean equals(Object obj) {
            
    if (this == obj)
                
    return true;
            
    if (obj == null)
                
    return false;
            
    if (getClass() != obj.getClass())
                
    return false;
            
    final FiscalYearPeriodPK other = (FiscalYearPeriodPK) obj;
            
    if (fiscalPeriod != other.fiscalPeriod)
                
    return false;
            
    if (fiscalYear != other.fiscalYear)
                
    return false;
            
    return true;
        }

    }


    public class FiscalYearPeriod {
        
    private FiscalYearPeriodPK fiscalYearPeriodPK;
        
    //開始日期
        private Date beginDate;
        
    //結(jié)束日期
        private Date endDate;
        
    //狀態(tài)
        private String periodSts;
    }
    posted on 2009-11-03 16:22 junly 閱讀(202) 評論(0)  編輯  收藏 所屬分類: hibernate/orm
    主站蜘蛛池模板: 亚洲精品无码不卡在线播放| 亚洲精品亚洲人成在线观看| 亚洲第一成年人网站| 99精品视频在线观看免费| 亚洲国产人成精品| 亚洲av无码有乱码在线观看| 免费阿v网站在线观看g| 亚洲国产精品乱码在线观看97 | 欧美亚洲国产SUV| 日韩免费无码一区二区视频| 亚洲五月综合网色九月色| 老司机在线免费视频| 亚洲第一成人在线| 日韩精品视频免费网址| 国产成人久久精品亚洲小说| 亚洲精品NV久久久久久久久久| 一级毛片a免费播放王色| 亚洲日本va中文字幕久久| 亚欧日韩毛片在线看免费网站| 亚洲大香伊人蕉在人依线| 成人免费午夜视频| 国产成人亚洲精品91专区高清| 亚洲视频人成在线播放| 日本免费在线中文字幕| 亚洲精品中文字幕乱码| 成人免费a级毛片无码网站入口| 色综合久久精品亚洲国产| 国产亚洲精品AA片在线观看不加载| 免费看一区二区三区四区| 亚洲精品国产肉丝袜久久| 日韩免费视频网站| a级午夜毛片免费一区二区| 久久久久亚洲AV无码专区首JN| 在线不卡免费视频| 久久99精品免费一区二区| 久久久久久亚洲精品成人| 欧洲美熟女乱又伦免费视频| 插鸡网站在线播放免费观看| 亚洲精品视频观看| 免费一级毛片正在播放| 久久精品无码专区免费青青|