Tengo dos POJO, uno es para Post que está debajo
@Entity public class Post { ... @ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "category_id") private Category category; ... }y otro es para la categoría como se muestra a continuación
@Entity(name = "category") public class Category { ... @OneToMany(fetch = FetchType.LAZY, mappedBy = "category", cascade = CascadeType.ALL) @JsonIgnore private List<Post> post; ... } Tengo dos repositorios crud para cada clase. Y aquí está mi problema. GET, POST, PUT funciona como se esperaba. Pero para DELETE está creando el problema. Supongamos que la POST A tiene el tipo de categoría C. Cuando intento eliminar la POST A , no solo se elimina la POST A , sino que también se elimina la Categoría C y todas las publicaciones relacionadas con la Categoría C.
Por favor ayuda :)
El problema está en el CascadeType , del lado de Post . CascadeType.ALL incluye CascadeType.REMOVE , por lo que cuando elimine una publicación, la categoría a la que pertenece esa publicación también se eliminará. Conserve solo CascadeType.ALL en el lado Category y elimínelo de Post .