Tengo un problema con una @OneToMany
asignación simple entre una entidad principal y una entidad secundaria. Todo funciona bien, solo que los registros secundarios no se eliminan cuando los elimino de la colección.
El padre:
@Entity
public class Parent {
@Id
@Column(name = "ID")
private Long id;
@OneToMany(cascade = {CascadeType.ALL}, mappedBy = "parent")
private Set<Child> childs = new HashSet<Child>();
...
}
El niño:
@Entity
public class Child {
@Id
@Column(name = "ID")
private Long id;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="PARENTID", nullable = false)
private Parent parent;
...
}
Si ahora elimino un elemento secundario del conjunto de elementos secundarios, no se eliminará de la base de datos. Intenté anular la child.parent
referencia, pero eso tampoco funcionó.
Las entidades se utilizan en una aplicación web, la eliminación ocurre como parte de una solicitud de Ajax. No tengo una lista de niños eliminados cuando se presiona el botón Guardar, por lo que no puedo eliminarlos implícitamente.