zoukankan      html  css  js  c++  java
  • hibernate联合主键 注解方式

    转载自https://my.oschina.net/yotoo/blog/265571

    方法一:主键类用@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! 

  • 相关阅读:
    【算法微解读】浅谈01分数规划
    【算法微解读】浅谈线段树
    近期目标
    【洛谷P5008 逛庭院】tarjan缩点+贪心
    【洛谷P1061 Jam的计数法】搜索
    【洛谷P1140 相似基因】动态规划
    【建兰普及模拟赛四】20181026
    【建兰普及模拟赛第三场】20181035
    【洛谷P2800又上锁妖塔】动态规划
    【建兰普及模拟赛第二场】20181024
  • 原文地址:https://www.cnblogs.com/yuanfuqiang/p/5886297.html
Copyright © 2011-2022 走看看