如果要搭建JPA开发环境,请从JPA第一篇博客看起。
下面以坐飞机为例,讲解联合主键的使用。基本思想是一条航线由两个端点组成。
1、组合主键类
package compositepk;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Embeddable;
/**
* 组合主键类: 这里以坐飞机为例,一段航线由起始点和结束点组成 规则一:必须提供无参的构造函数 规则二:必须实现Serializable接口
* 规则三:必须重写hashCode()和equals()方法
*/
@Embeddable//该注解表示该类用在实体里面,直接使用该类定义的属性
public class AirLinePK implements Serializable {
private static final long serialVersionUID = 5913768452213218677L;
private String startCity;
private String endCity;
public AirLinePK() {
super();
}
public AirLinePK(String startCity, String endCity) {
super();
this.startCity = startCity;
this.endCity = endCity;
}
@Column(length=3)
public String getStartCity() {
return startCity;
}
public void setStartCity(String startCity) {
this.startCity = startCity;
}