创建双主键时引用实体类

先写一个双主键类,参考如下:
public class EvectionResearchCompanyContactPk implements Serializable {

private static final long serialVersionUID = 1L;

private String companyId;

private String name;//2011-11-27

public EvectionResearchCompanyContactPk() {

}

@Override
public boolean equals(Object obj){
if (obj == this) {
return true;
}
if (!(obj instanceof EvectionResearchCompanyContactPk)) {
return false;
}
EvectionResearchCompanyContactPk pk = (EvectionResearchCompanyContactPk)obj;

if (!name.equals(pk.name)){
return false;
}
if (companyId != pk.companyId) {
return false;
}
return true;
}

@Override
public int hashCode(){
return name.hashCode() + companyId.hashCode();
}

public String getCompanyId() {
return companyId;
}

public void setCompanyId(String companyId) {
this.companyId = companyId;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}
实体类的调用:
@Entity
@Table(name = "KM_BUSINESS_RESCH_COMCONTACT")
@org.hibernate.annotations.Proxy(lazy = false)
@IdClass(EvectionResearchCompanyContactPk.class)
public class EvectionResearchCompanyContact implements Serializable {

private static final long serialVersionUID = 1L;

private String companyContactId;

@Id
private String companyId;

@Id
private String name;

猜你喜欢

转载自2047033272.iteye.com/blog/2149558