java 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 楼答案
在比较了不同对象的散列之后,简短的回答是肯定的,级联类确实构成了复合密钥的一部分