我正在尝试创建一个包含两个实体的 Spring Boot 应用程序:Question 和 QuestionChoices。我正在使用双向一对多关系。当我尝试创建一个 Question 实体以及 QuestionChoices 列表时,QuestionChoice 中的外键为空。
这是我的 QuestionChoice 实体:
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class QuestionChoice {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String choice;
@ManyToOne
@JoinColumn(name = "question_id")
private Question question;
public QuestionChoice(String choice, Question question) {
this.choice = choice;
this.question = question;
}
public QuestionChoice(String choice) {
this.choice = choice;
}
}
这是我的问题实体:
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Question {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int question_id;
private String questionName;
private String questionText;
@OneToMany(mappedBy = "question", cascade = CascadeType.ALL)
private List<QuestionChoice> questionChoices;
public Question(String questionName, String questionText, List<QuestionChoice> questionChoices) {
this.questionName = questionName;
this.questionText = questionText;
this.questionChoices = questionChoices;
this.questionChoices.forEach(x -> x.setQuestion(this));
}
}
我有一个 QuestionRepository 和 QuestionChoiceRepository:
@Repository
public interface QuestionRepository extends JpaRepository<Question, Integer> {
}
@Repository
public interface QuestionChoiceRepository extends JpaRepository<QuestionChoice, Integer> {
}
这是我的控制器:
@RestController
public class Controller {
QuestionRepository questionRepository;
QuestionChoiceRepository questionChoiceRepository;
public Controller(QuestionRepository questionRepository,
QuestionChoiceRepository questionChoiceRepository) {
this.questionRepository = questionRepository;
this.questionChoiceRepository = questionChoiceRepository;
}
MMMHUHU
跃然一笑
BIG阳
相关分类