本文出自:http://blog.csdn.net/hongchangfirst
hibernate里边的复合主键是需要其他方式来声明的,需要先写一个主键类,把主键字段(如,tour_id和morph_id)封装在一个类里边,并实现hashCode和equals方法,保证hibernate可以确定一个主键,如下:
class Tour_MorphID implements Serializable {
private static final long serialVersionUID = 155771990L;getter...
setter...
}
然后在需要复合主键类的实体类里边写上@IdClass注解,如下:
@Entity
@IdClass(Tour_MorphID.class)
@Table(name = "Tour_Morph")
public class Tour_Morph implements Serializable {
serialVersionUID ..
@Id
@Column(name = "Tour_id")
private Integer Tour_id;
@Id
@Column(name = "Morph_id")
private Integer Morph_id;
//other fields...
getter...
setter...
}
好,这样就可以了。