繁体   English   中英

JPA如何从单个表的复合主键的两个不同表部分制作复合外键

[英]JPA how to make composite Foreign Keys from two different table part of composite Primary Key of a single table

以下是我的表的结构:

Table Campaign{
Camp_id(PK),
other columns...
}

Table User{
user_id(PK),
other columns...
}

Table Candidate{
cand_id(PK),
other columns...
}

Table Result{
user_id(PK),
camp_id(PK),
cand_id
}

尝试这样的事情:

实体表活动

@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;

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM