QuestionAnswerオブジェクトを追加して永続化するときに、広告とQuestionAnswersの間に1対多の関係があります。QuestionAnswersで挿入が行われていますが、そのIDを変更しないでください。 questionanswer.javaOneToMany関係で追加されたオブジェクトのIDが更新されない
@ManyToOne
@JoinColumn(name = "advertisement_id")
public Advertisement getAdvertisement() {
return advertisement;
}
でadvertisement.java
@OneToMany(mappedBy = "advertisement", cascade = CascadeType.ALL)
public List<QuestionAnswers> getQuestionAnswers() {
return questionAnswers;
}
で
テストケース
public void testAddQA(){
User user=userRepository.findByEmail("[email protected]");
Advertisement adv=new Advertisement();
adv.setAdvertisementStatus(statusRepository.findByStatus("A"));
adv.setMaximumPrice(new BigDecimal(12));
adv.setDescription("blabla");
adv.setAdvertiser(user);
advertisementRepository.save(adv);
QuestionAnswers ans=new QuestionAnswers();
ans.setAdvertisement(adv);
ans.setQuestion("blabla");
ans.setQuestionDate(new Date());
ans.setBidder(user);
adv.addQuestions(ans);
advertisementRepository.save(adv);
assertNotNull(ans.getId());
}
ない限りときPE、私は承知していますよう