复合(联合)主键映射

Posted on 2009-08-23 13:56  哥德巴赫猜  阅读(101)  评论(0)    收藏  举报

通常将复合主键相关的属性,单独放到一个类中

       * 此类必须实现序列化接口

       * 覆写hashcodeequals方法

 

package com.bjsxt.hibernate;

 

import java.io.Serializable;

 

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;

       }

      

}

 

 

 

<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>

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3