hibernate无主键照射【转】

hibernate无主键映射【转】

第一步:建表(略,无主键)

第二部:进行配置文件以及PO类的编写。

其中的做法就是没有主键,所以把一条记录看成一个主键,即组合主键<composite-id>

配置文件如下:

<hibernate-mapping>
    <class name="com.cqgl.po.SaI18nLimitRulesPO" table="SA_I18N_LIMIT_RULES">
     <composite-id>
           <key-property name="aircompanyCode" type="java.lang.String">
                <column name="AIRCOMPANY_CODE" />
           </key-property>
          
           <key-property name="aircompanyName" type="java.lang.String">
                <column name="AIRCOMPANY_NAME" />
            </key-property>
           
            <key-property name="canbinClass" type="java.lang.String">
                <column name="CANBIN_CLASS"  />
            </key-property>
           
            <key-property name="discountFrom">
                <column name="DISCOUNT_FROM" />
            </key-property>
           
            <key-property name="discountTo">
                <column name="DISCOUNT_TO" />
            </key-property>
           
            <key-property name="refundTicketsRule" type="java.lang.String">
                <column name="REFUND_TICKETS_RULE"  />
            </key-property>
           
            <key-property name="refundTicketsRuleEn" type="java.lang.String">
                <column name="REFUND_TICKETS_RULE_EN"  />
            </key-property>
           
            <key-property name="changeDateRule" type="java.lang.String">
                <column name="CHANGE_DATE_RULE" />
            </key-property>
           
            <key-property name="changeDateRuleEn" type="java.lang.String">
                <column name="CHANGE_DATE_RULE_EN"  />
            </key-property>
           
            <key-property name="endorsementRule" type="java.lang.String">
                <column name="ENDORSEMENT_RULE" />
            </key-property>
           
            <key-property name="endorsementRuleEn" type="java.lang.String">
                <column name="ENDORSEMENT_RULE_EN" />
            </key-property>
           
            <key-property name="remark" type="java.lang.String">
                <column name="REMARK"  />
            </key-property>
           
            <key-property name="createTime" type="java.util.Date">
                <column name="CREATE_TIME" />
            </key-property>
           
            <key-property name="createUserId" type="java.lang.String">
                <column name="CREATE_USER_ID"  />
            </key-property>
           
            <key-property name="updateTime" type="java.util.Date">
                <column name="UPDATE_TIME"  />
            </key-property>
           
            <key-property name="updateUserId" type="java.lang.String">
                <column name="UPDATE_USER_ID"  />
            </key-property>
        </composite-id>   
    </class>
</hibernate-mapping>

 

 

第三部:重写实体类中的OBJECT的equals方法和hashCode并且每个实体要实现java.io.Serializable接口

 

JAVA文件如下:

package com.cqgl.po;
 

import java.util.Date;
 

public class SaI18nLimitRulesPO implements java.io.Serializable {
 

    private String aircompanyCode;
    private String aircompanyName;
    private String canbinClass;
    private String discountFrom;
    private String discountTo;
    private String refundTicketsRule;
    private String refundTicketsRuleEn;
    private String changeDateRule;
    private String changeDateRuleEn;
    private String endorsementRule;
    private String endorsementRuleEn;
    private String remark;
    private Date createTime;
    private String createUserId;
    private Date updateTime;
    private String updateUserId;
 

    public String getAircompanyCode() {
       return this.aircompanyCode;
    }
 

    public void setAircompanyCode(String aircompanyCode) {
       this.aircompanyCode = aircompanyCode;
    }
 

    public String getAircompanyName() {
       return this.aircompanyName;
    }
 

    public void setAircompanyName(String aircompanyName) {
       this.aircompanyName = aircompanyName;
    }
 

    public String getCanbinClass() {
       return this.canbinClass;
    }
 

    public void setCanbinClass(String canbinClass) {
       this.canbinClass = canbinClass;
    }
 

    public String getDiscountFrom() {
       return this.discountFrom;
    }
 

    public void setDiscountFrom(String discountFrom) {
       this.discountFrom = discountFrom;
    }
 

    public String getDiscountTo() {
       return this.discountTo;
    }
 

    public void setDiscountTo(String discountTo) {
       this.discountTo = discountTo;
    }
 

    public String getRefundTicketsRule() {
       return this.refundTicketsRule;
    }
 

    public void setRefundTicketsRule(String refundTicketsRule) {
       this.refundTicketsRule = refundTicketsRule;
    }
 

    public String getRefundTicketsRuleEn() {
       return this.refundTicketsRuleEn;
    }
 

    public void setRefundTicketsRuleEn(String refundTicketsRuleEn) {
       this.refundTicketsRuleEn = refundTicketsRuleEn;
    }
 

    public String getChangeDateRule() {
       return this.changeDateRule;
    }
 

    public void setChangeDateRule(String changeDateRule) {
       this.changeDateRule = changeDateRule;
    }
 

    public String getChangeDateRuleEn() {
       return this.changeDateRuleEn;
    }
 

    public void setChangeDateRuleEn(String changeDateRuleEn) {
       this.changeDateRuleEn = changeDateRuleEn;
    }
 

    public String getEndorsementRule() {
       return this.endorsementRule;
    }
 

    public void setEndorsementRule(String endorsementRule) {
       this.endorsementRule = endorsementRule;
    }
 

    public String getEndorsementRuleEn() {
       return this.endorsementRuleEn;
    }
 

    public void setEndorsementRuleEn(String endorsementRuleEn) {
       this.endorsementRuleEn = endorsementRuleEn;
    }
 

    public String getRemark() {
       return this.remark;
    }
 

    public void setRemark(String remark) {
       this.remark = remark;
    }
 

    public Date getCreateTime() {
       return this.createTime;
    }
 

    public void setCreateTime(Date createTime) {
       this.createTime = createTime;
    }
 

    public String getCreateUserId() {
       return this.createUserId;
    }
 

    public void setCreateUserId(String createUserId) {
       this.createUserId = createUserId;
    }
 

    public Date getUpdateTime() {
       return this.updateTime;
    }
 

    public void setUpdateTime(Date updateTime) {
       this.updateTime = updateTime;
    }
 

    public String getUpdateUserId() {
       return this.updateUserId;
    }
 

    public void setUpdateUserId(String updateUserId) {
       this.updateUserId = updateUserId;
    }
 

    // 注意这种情况下 我们需要重写equals和hashCode
    public boolean equals(Object object) {
       return true;
    }
 

    public int hashCode() {
       return 1;
    }
 

}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guoxu775/archive/2010/10/13/5938961.aspx

1 楼 gpo 2011-11-26  
hibernate无主键照射【转】