【发布时间】:2018-10-27 21:13:18
【问题描述】:
在一个Java项目+spring中,我有这两个类和一个插入数据的代码:
@Entity(name = "Quiz")
@Table(name = "quiz")
@PrimaryKeyJoinColumn(name="id")
public class Quiz implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@OneToMany(mappedBy="quiz", fetch = FetchType.EAGER, cascade=CascadeType.ALL)
private List<QuizQuestion> quizQuestions= new ArrayList<>();
@Entity(name = "QuizQuestion")
@Table(name = "quiz_question")
@PrimaryKeyJoinColumn(name="id")
public class QuizQuestion implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String text;
@ManyToOne
@JoinColumn(name = "quiz_id", referencedColumnName="id")
private Quiz quiz;
Quiz javaQuiz= new Quiz();
javaQuiz.setName("QCM Java");
QuizQuestion qOne= new QuizQuestion();
qOne.setText("where");
List<QuizQuestion> listQJava= new ArrayList<>();
listQJava.add(qOne);
javaQuiz.setQuizQuestions(listQJava);
quizDao.save(javaQuiz);
通过记录测验,我在“quiz_question”表中的 quiz_id 列始终为 NULL
感谢您的帮助!
【问题讨论】:
-
那是因为您从未将问题的测验字段设置为 null 以外的任何值。就这么简单和合乎逻辑。
标签: spring jpa jakarta-ee