У меня есть 3 модели PaymentPlan, PaymentPlanDetail, PaymentPlanElement
PaymentPlan имеет один или несколько PaymentPlanDetail,
PaymentPlanElement имеет один или несколько PaymentPlanDetail,
Существует следующая связь:
public class PaymentPlan{
//
@OneToMany(mappedBy = "paymentPlan",cascade = CascadeType.ALL)
private List<PaymentPlanDetail> paymentPlanDetails= new ArrayList<>();
}
public class PaymentPlanDetail{
//
@ManyToOne(name = paymentPlanElementId)
private PaymentPlanElement paymentPlanElement;
}
public class PaymentPlanElement{
//
@OneToMany(mappedBy = "paymentPlanElement",cascade = CascadeType.ALL)
private List<PaymentPlanDetail> paymentPlanDetails= new ArrayList<>
}
Я отправляю объект запроса, который выглядит как
{
name:'foo',
paymentPlanDetails: [
{
name: 'bar',
paymentPlanElement:{
id: 12,
style: 'baz'
}
}
]
}
Элемент плана платежей уже создан,
Я хочу отправить объект JSON и сохранить план платежей, включая данные плана платежей, но я получил сообщение об ошибке payment_plan_id is null
,
Есть ли способ сделать это в одной транзакции?
редактировать:
My PaymentPlan Controller
@RestController
@RequestMapping("/api/payment-plans")
@CrossOrigin(origins = "http://localhost:4200")
@RequiredArgsConstructor
public class PaymentPlanController {
private final PaymentPlanService paymentPlanService;
@PostMapping
public PaymentPlan create(@RequestBody PaymentPlan paymentPlan) {
return paymentPlanService.create(paymentPlan);
}
}
и PaymentPland DTO
public interface PaymentPlanDao extends JpaRepository<PaymentPlan, Integer> {
}