मुझे माता-पिता और एक बच्चे इकाई के बीच एक सरल @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
संदर्भ को रद्द करने का प्रयास किया, लेकिन यह भी काम नहीं किया।
इकाइयों का उपयोग वेब अनुप्रयोग में किया जाता है, हटाए गए अजाक्स अनुरोध के हिस्से के रूप में होता है। सहेजे गए बटन दबाए जाने पर मेरे पास हटाए गए बच्चों की एक सूची नहीं है, इसलिए मैं उन्हें पूरी तरह से हटा नहीं सकता।
अच्छा स्पष्टीकरण धन्यवाद। तो यह मुझे डर लगता है। (मैंने पूछने से पहले कुछ खोज/पढ़ाई की, बस सहेजना चाहते हैं)। किसी भी तरह से मैं जेपीए एपीआई और नाइट हाइबरनेट का उपयोग करने के निर्णय को पछतावा करना शुरू कर देता हूं .. मैं चंद्र पटना पॉइंटर का प्रयास करूंगा और हाइबरनेट डिलीट_ऑर्फन कैस्केड प्रकार का उपयोग करूंगा। – bert
मेरे पास इस बारे में एक समान सवाल है। कृपया इस पोस्ट को यहां देखें, कृपया? http://stackoverflow.com/questions/4569857/jsf-how-to-update-the-list-after-delete-an-item-of-that-list –
जेपीए 2.0 के साथ, अब आप विकल्प का उपयोग कर सकते हैं orphanRemoval = सच – itsadok