Jparepository не удаляет - PullRequest
       5

Jparepository не удаляет

0 голосов
/ 26 февраля 2020

Html

            <form th:action="@{/deleteCartItem(id=${produkt.product.id})}" th:object="${produkty}" method="post">
                <div class="text-right">
                    <input type="submit" value="Delete" class="btn-sm btn-danger" />
                </div>
            </form>

Контроллер корзины

@GetMapping("/kosik")
public String kosik(Principal principal,Model model){
    User user = userServices.findByEmail(principal.getName());
    Cart cart = cartServices.findCartByUser(user);
    model.addAttribute("produkty",cartItemServices.findAllCartItems(cart));
    model.addAttribute("cart",cartServices.findCartByUser(user));
    model.addAttribute("user",user);
    return "cart";
}

Метод удаления

@PostMapping("/deleteCartItem")
public String deleteCartItem(@ModelAttribute CartItem cartItem){
    cartItemServices.deleteCartItem(cartItem.getCartItemId());
    return "redirect:/kosik";
}

Сервис

public void deleteCartItem(Integer id){
        cartItemRepository.deleteById(id);
    }

Элемент CartItem

@Entity
public class CartItem {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer cartItemId;
    @NotNull
    @Max(11)
    private int quantity;
    private double price;

    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "product_id")
    private Product product;

    @ManyToOne
    @JoinColumn(name = "cart_id")
    private Cart cart; 

Получение идентификатора cartitem работает, но я не могу удалить cartItem .. Я также попытался удалить его не по id, а мгновенно удалить cartItem ..

1 Ответ

1 голос
/ 26 февраля 2020

Поскольку у вашей сущности нет поля id в качестве первичного ключа. Это не работает.

Определите приведенный ниже метод в CartItemRepository и используйте его для удаления объекта.

Long deleteByCartItemId(Long id);

Или переименуйте поле cartItemId в id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...