Я только начинаю изучать spring-boot-jpa.
Я попытался использовать сопоставление один-к-одному в моей программе, и когда я получаю вывод с помощью Getmapping, я получаю одни и те же данные, повторяемые несколько раз.
Я не уверен, в чем проблема с кодом.
Родительские отношения один на один
@OneToOne(mappedBy = "question", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Options options;
Отношения «один на один с ребенком»
@OneToOne (cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "questionId")
private Question question;
Ниже приведен класс контроллеров
@RestController
public class QuizController {
List<Question> question = new ArrayList<Question>();
@Autowired
QuestionRepo questionRepo;
@Autowired
OptionsRepo optionsRepo;
@GetMapping("/question")
public List<Question> getQues() {
return questionRepo.findAll();
}
@PostMapping("/question")
public void setQues(@RequestParam String ques, String choice1, String choice2, String choice3, String choice4) {
Question setQues = new Question();
setQues.setQuestion(ques);
Options setOp = new Options();
setOp.setOption1(choice1);
setOp.setOption2(choice2);
setOp.setOption3(choice3);
setOp.setOption4(choice4);
setQues.setOptions(setOp);
setOp.setQuestion(setQues);
questionRepo.save(setQues);
Это вывод, который я получаю, одни и те же параметры повторяются несколько раз,
[{"questionId":1,"options":{"option1":"Red","option2":"Black","option3":"Yellow","option4":"Green","question":{"questionId":1,"options":{"option1":"Red","option2":"Black","option3":"Yellow","option4":"Green"}]