您的位置:首页 > 其它

hibernate联合主键 注解方式

2014-10-15 00:00 78 查看
摘要: hibernate联合主键 注解方式

方法一:主键类用@Embeddable,pojo类仍然用@Entity但是引用主键类的对象用@Id

主键pojo类:

@Embeddable
public class composeIdPK implements Serializable {
private String name;
private int id;
@Column(length=20,name="pkName")
public String getName() {
return name;
}
@Column(length=10,name="uuid")
public int getId() {
return id;
}
。。。。。。。。。。。。。。。。。


pojo类:

@Entity
public class composeId {
private composeIdPK pk;
private int uid;
private String title;
private String address;

@Id
public composeIdPK getPk() {
return pk;
}
。。。。。。。。。。。。。。。。。。


方法二:@EmbeddedlD(*) 主键pojo类无需加@EmbeddedlD注解,只需在pojo类新属性“composeIdPK”的get方法前写@EmbeddedlD即可

方法三:@Id @IdClass(*) 主键pojo类无需加注解,原pojo类的id,name属性保留不变,也无需新增“ComposeIDPK”属性。 只在id,name的get方法前都加@Id,并在原pojo类前加

如下:

@Entity
@IdClass(com.study.model.composeID.composeIdPK.class)
public class composeId {
//private composeIdPK pk;
private int id;
private String name;
@Id
@Column(length=10,name="uuid")
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Id
@Column(length=20,name="pkName")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String title;
private String address;


测试ok!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息