我有两个外键关系表。现在我想将数据保存到父表时,它会自动将父ID更新为子表。但我无法将其保存到子表中。 在我的代码示例下面
@CrossOrigin
@Transactional
@RequestMapping(value = "/m/auth/merchant/order", method = RequestMethod.POST)
public MerchantOrder setShippingAddress(@RequestBody MerchantOrder merchantOrder) throws HLRestException {
if(merchantOrder != null) {
MerchantOrder order = new MerchantOrder();
Product product = new Product();
product.setMerchantOrder(order);
List<Product> products = order.getProducts();
products.add(product);
order.setProducts(products);
order = merchantOrderRepo.save(order);
return merchantOrder;
}
else {
throw new HLRestException("Order shipping failed");
}
}
========MerchantOrder Class=====
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
List<Product> products;
========Product Class=======
@ManyToOne(cascade = CascadeType.REFRESH, fetch = FetchType.LAZY)
MerchantOrder merchantOrder;
答案 0 :(得分:0)
纠正你的一对多关系:
//MerchantOrder Class
@OneToMany(mappedBy = "merchantOrder", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
List<Product> products;
//Product Class
@ManyToOne
MerchantOrder merchantOrder;