hibernate联合主键 注解方式

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

主键pojo类:

01 @Embeddable
02 public class composeIdPK implements Serializable {
03  private String name;
04  private int id;
05   @Column(length=20,name="pkName")
06  public String getName() {
07   return name;
08  }
09     @Column(length=10,name="uuid")
10  public int getId() {
11   return id;
12  }
13  。。。。。。。。。。。。。。。。。

pojo类:

01 @Entity
02 public class composeId {
03  private composeIdPK pk;
04  private int uid;
05  private String title;
06  private String address;
07   
08  @Id
09  public composeIdPK getPk() {
10   return pk;
11  }
12 。。。。。。。。。。。。。。。。。。

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

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

如下:

01 @Entity
02 @IdClass(com.study.model.composeID.composeIdPK.class)
03 public class composeId {
04  //private composeIdPK pk;
05     private int id;
06     private String name;
07     @Id
08     @Column(length=10,name="uuid")
09  public int getId() {
10   return id;
11  }
12  public void setId(int id) {
13   this.id = id;
14  }
15  @Id
16   @Column(length=20,name="pkName")
17  public String getName() {
18   return name;
19  }
20  public void setName(String name) {
21   this.name = name;
22  }
23  private String title;
24  private String address;

测试ok!

转:http://my.oschina.net/u/942629/blog?catalog=431496

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值