I have an Admin class that can delete cooks from the database by id. When I use the void deleteByUserRoleAndId(String role, Long id) method; it removes all columns from the database, but only one is needed, and also clears all cross-tables that are associated with this table! What could be my problem?
Cook:
public class Cook {
    public Cook() { // Пустой конструктор для Hibernate
    }
    // Поля
    // name, lastName, login, password берем от класса User через связи;
    private @Id
    @GeneratedValue
    Long id;
    @Enumerated(EnumType.STRING)
    @Column(name = "type")
    private CookType cookType;
    @Column(name = "rating")
    private float rating;
    @Column(name = "cook_status")
    private boolean cookStatus;
    @Column(name = "about_cook")
    private String aboutCook;
    //Relationships
    //
    @OneToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "user_id", referencedColumnName = "id") // Join without Cook in User class
    private User user;
    // Лист отзывов
    @OneToMany(mappedBy = "cook", cascade = CascadeType.ALL)
    @JsonIgnore // Таким образом я предотвратил рекурсию
    private List<Review> reviewList;
    // Лист поваров
    @OneToMany(mappedBy = "cook", cascade = CascadeType.ALL)
    @JsonIgnore // Таким образом я предотвратил рекурсию
    private List<Order> orderList;
    // Лист блюд
    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinTable(
            name = "cook_dish",
            joinColumns = @JoinColumn(name = "dish_id"),
            inverseJoinColumns = @JoinColumn(name = "cook_id"))
    @JsonIgnore // Таким образом я предотвратил рекурсию
    private List<Dish> dish;
}
JpaRepo:
public interface CookRepository extends JpaRepository<Cook, Long> { // Интерфейс для репозитория Cook
    // Удалить Повара Role + ID
    void deleteByUserRoleAndId(String role, Long id);
AdminService:
@Transactional
    public void deleteCook(Long id) {
        cookRepository.deleteByUserRoleAndId("COOK", id);
    }
AdminController:
@DeleteMapping("/delete/cook/{id}")
    void removeCook(@PathVariable Long id) {
        adminService.deleteCook(id);
    }
Data is added to all tables when I run the application using the script, and then when this method is executed, it is cleared!
I'm writing the REST of the app, using the download Spring boot + Spring MVC + Spring Security + hibernate + Jpa + PostgreSQL 


 
     
    