【问题标题】:JPA how to make composite Foreign Keys from two different table part of composite Primary Key of a single tableJPA如何从单个表的复合主键的两个不同表部分制作复合外键
【发布时间】:2020-11-17 14:55:47
【问题描述】:

以下是我的表的结构:

餐桌活动{
Camp_id(PK),
其他栏目...
}

表用户{
用户 ID(PK),
其他栏目...
}

候选表{
cand_id(PK),
其他栏目...
}

表格结果{
用户 ID(PK),
camp_id(PK),
坦率
}

【问题讨论】:

    标签: java spring hibernate jpa composite-key


    【解决方案1】:

    试试这样的:

    实体表广告系列

    @Entity
    @Table(name="CAMPAIGN")
    public class Campaign implements Serializable {
        
        @GeneratedValue(...)
        @Id
        @Column(name="CAMP_ID")
        Long campId
        ....
    }
    

    实体用户

    @Entity
    @Table(name="USER")
    public class User implements Serializable {
        
        @GeneratedValue(...)
        @Id
        @Column(name="USER_ID")
        Long userId
        ....
    }
    

    候选实体

    @Entity
    @Table(name="CANDIDATE")
    public class Candidate implements Serializable {
        
        @GeneratedValue(...)
        @Id
        @Column(name="CAND_ID")
        Long candId
        ....
    }
    

    实体结果

    @Entity
    @Table(name="RESULT")
    public class Result implements Serializable {
    
        @EmbeddedId
        private ResultId id;
    
        @ManyToOne
        @JoinColumn(name = "CAND_ID")
        private Candidate candidate;
        ...
    }
    
    @Embeddable
    public class ResultId implements Serializable {
    
        @ManyToOne
        @JoinColumn(name = "USER_ID")
        private User user;
    
        @ManyToOne
        @JoinColumn(name = "CAMP_ID")
        private Campaign campaign;
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多