JPA 如果我有一个用作复合键的实体,级联是否也构成复合键的一部分?

时间:2021-04-13 14:40:48

标签: java sql spring-boot jpa spring-data-jpa

我的问题是级联类是否构成复合键的一部分?例如,如果我通过问题答案进行查询,结果是否也会考虑级联类中的字段?

@Embeddable
public class QuestionAnswer implements Serializable {
    @Column(name = "QUESTION_ID", nullable = false)
    /** The id of the question this answer applies to. */
    private Long questionId;
    @Column(name = "ANSWER_ID", nullable = false)
    /** The answer id. */
    private Long answerId;
    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "PARTICIPANTS_REF_ID", referencedColumnName = "PARTICIPANT_REF_ID")
    /** The participant that is involved in this answer.*/
    private ParticipantReference participant
}

@Entity
@Table(name = "PARTICIPANTS_REF")
public class ParticipantReference implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "someIdGenerator")
    @SequenceGenerator(name = "someIdGenerator", sequenceName = "SEQUENCE_GEN", allocationSize = 1)
    @Column(name = "PARTICIPANT_REF_ID", nullable = false)
    private Long id;

    @Column(name = "AGE")
    private long age;

    @Column(name = "GENDER")
    private String gender;
}

1 个答案:

答案 0 :(得分:0)

比较不同对象的散列后的简短答案是,级联类确实构成了组合键的一部分。