मुझे @OneToMany
माता-पिता और बच्चे की संस्था के बीच एक सरल मानचित्रण में समस्या है । सभी अच्छी तरह से काम करते हैं, केवल जब मैं उन्हें संग्रह से हटाता हूं तो बच्चे के रिकॉर्ड हटाए नहीं जाते हैं।
माता पिता:
@Entity
public class Parent {
@Id
@Column(name = "ID")
private Long id;
@OneToMany(cascade = {CascadeType.ALL}, mappedBy = "parent")
private Set<Child> childs = new HashSet<Child>();
...
}
बच्चा:
@Entity
public class Child {
@Id
@Column(name = "ID")
private Long id;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="PARENTID", nullable = false)
private Parent parent;
...
}
अगर मैं अब चिल्ड सेट से बच्चे को हटाता हूं, तो यह डेटाबेस से डिलीट नहीं होता है। मैंने child.parent
संदर्भ को स्पष्ट करने की कोशिश की , लेकिन यह भी काम नहीं किया।
संस्थाओं को एक वेब अनुप्रयोग में उपयोग किया जाता है, डिलीट एक अजाक्स अनुरोध के हिस्से के रूप में होता है। मेरे पास हटाए गए चिल्ड की सूची नहीं है जब सेव बटन दबाया जाता है, तो मैं उन्हें अंतर्निहित रूप से हटा नहीं सकता।