/**
* 联合主键
*
* 1、必须实现Serializable序列化 2、必须提示无参的构造方法 3、必须重写hashCode和equals方法
*
* @Embeddable 表示该类中所有属性在应用该联合主键的类中作为它的属性(字段)
* @author 张明学
*
*/
@Embeddable
public class AirLinePK implements Serializable {
private String staCity;
private String endCity;
public AirLinePK() {
}
public AirLinePK(String staCity, String endCity) {
this.staCity = staCity;
this.endCity = endCity;
}
@Column(nullable = false, length = 32)
public String getStaCity() {
return staCity;
}
public void setStaCity(String staCity) {
this.staCity = staCity;
}
@Column(nullable = false, length = 32)
public String getEndCity() {
return endCity;
}
public void setEndCity(String endCity) {
this.endCity = endCity;
}
@Override
public int hashCode() {
final int PRIME = 31;
int result = 1;
result = PRIME * result + ((endCity == null) ? 0 : endCity.hashCode());
result = PRIME * result + ((staCity == null) ? 0 : staCity.hashCode());
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 AirLinePK other = (AirLinePK) obj;
if (endCity == null) {
if (other.endCity != null)
return false;
} else if (!endCity.equals(other.endCity))
return false;
if (staCity == null) {
if (other.staCity != null)
return false;
} else if (!staCity.equals(other.staCity))
return false;
return true;
}
}
|