使用@IdClass
下面是定义一个主键类:
public class xxPK implements Serializable {
private String n;
private Long s;
public xxPK () {
}
...
@Override
public int hashCode() {
...
return result;
}
@Override
public boolean equals(Object obj) {
...
return true;
}
}
主键类要满足一下要求:
必须可序列化
必须具备共有的无参构造函数
必须实现hashCode和equals方法
现在在xx类必须具有xxPK类所具有的成员属性,并且这些成员属性都要标注@Id注释
@IdClass(xxPK.class)
@Entity
public class xx{
@Id
private String n;
@Id
private Long s;
private String a;
...
}
本文介绍如何在Java实体类中使用JPA的@IdClass注解定义复合主键。主要内容包括创建一个满足序列化要求的主键类,实现hashCode和equals方法,以及在实体类中应用@IdClass和@Id注解。
426

被折叠的 条评论
为什么被折叠?



