hibernate 注解 生成复合主键

来源:互联网 发布:下载文华财经软件 编辑:程序博客网 时间:2024/04/24 22:29
本文出自:http://blog.csdn.net/hongchangfirsthibernate里边的复合主键是需要其他方式来声明的,需要先写一个主键类,把主键字段(如,tour_id和morph_id)封装在一个类里边,并实现hashCode和equals方法,保证hibernate可以确定一个主键,如下:class Tour_MorphID implements Serializable {private static final long serialVersionUID = 155771990L;private Integer Tour_id;private Integer Morph_id;@Overridepublic int hashCode() {int result = 1;result = Tour_id.hashCode() + Morph_id.hashCode();return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;final Tour_MorphID other = (Tour_MorphID) obj;if (Tour_id == other.Tour_id && Morph_id == other.Morph_id)return true;return false;}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...}

0 0
原创粉丝点击