1
我有一對多映射的問題。
兩張表問題(PK(id),文本)和答案(PK(id,questionId),文本)
在我的應用程序中,我以只讀模式使用這些表。
我想這個表OneToMany和複雜的PK
@Entity
@Table(name = "QUESTIONS")
public class Question {
@Id
@Column(name = "QUESTIONID")
private long questionId;
@Column(name = "QUESTIONTEXT")
private String questionText;
@OneToMany(mappedBy = "question", fetch = FetchType.EAGER)
private List<Answer> answers;
}
@Entity
@Table(name = "ANSWERS")
public class Answer implements Serializable {
@EmbeddedId
private AnswerPK AnswerPK;
@Column(name = "ANSWERTEXT")
private String answerText;
@ManyToOne
@JoinColumn(name = "QUESTIONID", insertable = false, updatable = false)
private Question question;
}
@Embeddable
public class AnswerPK implements Serializable {
@Column(name = "QUESTIONID")
private long questionId;
@Column(name = "ANSWERID")
private int answerId;
}
但是當我使用@JoinColumn將建立外鍵之間的關係定義。
,當我嘗試填寫表格,我得到異常
java.sql.SQLIntegrityConstraintViolationException: ORA-02292: integrity constraint (ZODI.FK_ANSWERS_QUESTIONID) violated - child record found
謝謝回答。但我現在使用這種關係(子查詢)醜陋的黑客攻擊 – Sarge