У меня есть метод DELETE в моем RestController, который должен удалить объект CartItem из Cart. Они сопоставлены с отношением OneToMany, и после вызова метода удаления из CrudRepository элемент остается в базе данных, и я не получаю никаких ошибок ...
Я пытался удалить CascadeType.ALL в CascadeType.REMOVE, пытался также получить корзину из объекта Principal, а также пробовал deleteById (Long id) и delete (CartItem cartItem), но ничего не помогло, элемент все еще находится вбаза данных.
//CartItem repository
public interface CartItemRepository extends CrudRepository<CartItem, Long> {
CartItem getByCartItemId(Long id);
}
//Cart entity
@OneToMany(mappedBy = "cart", cascade = CascadeType.REMOVE, fetch = FetchType.EAGER)
private Set<CartItem> cartItems = new HashSet<>();
//CartItem entity
@ManyToOne
@JoinColumn(name = "cartId")
@JsonIgnore
private Cart cart;
//Rest method
@RequestMapping(value = "remove/{cartItemId}", method = RequestMethod.DELETE)
@ResponseStatus(value = HttpStatus.NO_CONTENT)
public void removeItemFromCart(@PathVariable (value = "cartItemId") Long
cartItemId){
cartItemRepository.deleteById(cartItemId);
}