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(*,*)方法保存组件值,这样其他就照旧和往常一样保存了。