EJB复合主键

KDXX_MXB.java

public class KDXX_MXB  implements java.io.Serializable {
 

     private KDXX_MXBId id;//主键实体
     private String kdgsmc;
     private Integer pks;

 

@EmbeddedId
   
    @AttributeOverrides( {
        @AttributeOverride(name="kdhm", column=@Column(name="KDHM", nullable=false, length=20) ),
        @AttributeOverride(name="fkph", column=@Column(name="FKPH", nullable=false, length=30) ) } )

    public KDXX_MXBId getId() {
        return this.id;
    }
   
    public void setId(KDXX_MXBId id) {
        this.id = id;
    }
   
    @Column(name="KDGSMC", length=40)

    public String getKdgsmc() {
        return this.kdgsmc;
    }
   
    public void setKdgsmc(String kdgsmc) {
        this.kdgsmc = kdgsmc;
    }
   
    @Column(name="PKS", precision=22, scale=0)

    public Integer getPks() {
        return this.pks;
    }
   
    public void setPks(Integer pks) {
        this.pks = pks;
    }

}

 

KDXX_MXBId.java

public class KDXX_MXBId  implements java.io.Serializable {

     private String kdhm;
     private String fkph;

     public KDXX_MXBId(String kdhm, String fkph) {
         this.kdhm = kdhm;
         this.fkph = fkph;
     }
    
    @Column(name="KDHM", nullable=false, length=20)

    public String getKdhm() {
        return this.kdhm;
    }
   
    public void setKdhm(String kdhm) {
        this.kdhm = kdhm;
    }

    @Column(name="FKPH", nullable=false, length=30)

    public String getFkph() {
        return this.fkph;
    }
   
    public void setFkph(String fkph) {
        this.fkph = fkph;
    }
  

 

   public boolean equals(Object other) {
         if ( (this == other ) ) return true;
   if ( (other == null ) ) return false;
   if ( !(other instanceof KDXX_MXBId) ) return false;
   KDXX_MXBId castOther = ( KDXX_MXBId ) other;
        
   return ( (this.getKdhm()==castOther.getKdhm()) || ( this.getKdhm()!=null && castOther.getKdhm()!=null && this.getKdhm().equals(castOther.getKdhm()) ) )
 && ( (this.getFkph()==castOther.getFkph()) || ( this.getFkph()!=null && castOther.getFkph()!=null && this.getFkph().equals(castOther.getFkph()) ) );
   }
  
   public int hashCode() {
         int result = 17;
        
         result = 37 * result + ( getKdhm() == null ? 0 : this.getKdhm().hashCode() );
         result = 37 * result + ( getFkph() == null ? 0 : this.getFkph().hashCode() );
         return result;
   }  

}

如果这个表存在根据主键查询那么KDXX_MXB.java应该是:

public class KDXX_MXB  implements java.io.Serializable {
 

     private KDXX_MXBId id;
     private String kdgsmc;
     private Integer pks;
     private String kdhm;
     private String fkph;
    
    @EmbeddedId
   
    @AttributeOverrides( {
        @AttributeOverride(name="kdhm", column=@Column(name="KDHM", nullable=false, length=20) ),
        @AttributeOverride(name="fkph", column=@Column(name="FKPH", nullable=false, length=30) ) } )

    public KDXX_MXBId getId() {
        return this.id;
    }
   
    public void setId(KDXX_MXBId id) {
        this.id = id;
    }
   
    @Column(name="KDGSMC", length=40)

    public String getKdgsmc() {
        return this.kdgsmc;
    }
   
    public void setKdgsmc(String kdgsmc) {
        this.kdgsmc = kdgsmc;
    }
   
    @Column(name="PKS", precision=22, scale=0)

    public Integer getPks() {
        return this.pks;
    }
   
    public void setPks(Integer pks) {
        this.pks = pks;
    }
       
    @Column(name="KDHM", insertable=false, updatable=false)

    public String getKdhm() {
        return this.kdhm;
    }
   
    public void setKdhm(String kdhm) {
        this.kdhm = kdhm;
    }

    @Column(name="FKPH", insertable=false, updatable=false)

    public String getFkph() {
        return this.fkph;
    }
   
    public void setFkph(String fkph) {
        this.fkph = fkph;
    }

}

目前这个KDXX_MXB.java中虽然包含主键属性但是不能直接保存,如果需要保存那么在保存的方法中这样写:

this.KDXX_MXForm.setId(new KDXX_MXBId(this.KDXX_MXForm.getFkph(),this.KDXX_MXForm.getKdhm()));

因为我KDXX_MXB.java中我将复合主键定义成ID,所以我setId(*,*)方法保存组件值,这样其他就照旧和往常一样保存了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值