javax.persistence.EntityNotFoundException:具有多对一映射的Spring Dat



我使用这个json请求-填充了cart和cartitem类

{
"userId": "1246772",
"cartItemRequests": [
{
"itemId": "12345",
"quantity": 5
}
],
"discount": {
"promoCode": "MYPROMO",
"discountPercentage": 0
}
}

我在响应中看到此错误-javax.persistence.EntityNotFoundException:找不到id为d3931cb8-ab81-4c1b-b722-841c7fcf2f77的cart.model.CartItem。

当我调试代码时,我能够看到";d3931cb8-ab81-4c1b-b722-841c7fcf2f77";cartItem列表存在于cart中。然而,当我使用Spring Data JPA保存时,我看到上面的错误

@Entity
public class CartItem {
@Id
private String id;
private String itemId;
private int quantity;
@ManyToOne
private Cart cart;
public CartItem() {
this.id = UUID.randomUUID().toString();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getItemId() {
return itemId;
}
public void setItemId(String itemId) {
this.itemId = itemId;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
public Cart getCart() {
return cart;
}
public void setCart(Cart cart) {
this.cart = cart;
}
}

@Entity
public class Cart {
@Id
private String id;
private String userId;
@OneToMany(fetch = FetchType.LAZY)
private List<CartItem> cartItems;
@Embedded
private Discount discount;
public Cart() {
this.id = UUID.randomUUID().toString();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public List<CartItem> getCartItems() {
return cartItems;
}
public void setCartItems(List<CartItem> cartItems) {
this.cartItems = cartItems;
}
public Discount getDiscount() {
return discount;
}
public void setDiscount(Discount discount) {
this.discount = discount;
}
}

你能用下面的一个n检查来更新你的代码吗:---

@OneToMany(mappedBy = "Cart", fetch = FetchType.LAZY,
cascade = CascadeType.ALL)
private List<CartItem> cartItems;

@ManyToOne(fetch = FetchType.LAZY, optional = false)
private Cart cart;

最新更新