2015-01-09 9 views
6

मैंने जवाब खोजा लेकिन मैं इसे ठीक से नहीं मिला। , कैस्केड = CascadeType.REMOVE, orphanRemoval के बीच अंतर क्या है जब हम @OneToMany संबंध पर FetchType.EAGER सेट करते हैं? रिकॉर्ड हटाने के दौरान मुझे एक समस्या थी। जब मैं कर्मचारी अभिलेख को नष्ट करने की कोशिश की मैं निम्नलिखितकैस्केड टाइप प्रकार के बीच क्या अंतर है, कैस्केड = कैस्केड टाइप .REMOVE और अनाथ रिमूवल

@OneToMany(cascade = CascadeType.ALL, mappedBy = "companyEntity", fetch = FetchType.EAGER) 
Set<EmployeeEntity> employeeEntities; 

का इस्तेमाल किया है, यह मेरे किसी भी अपवाद नहीं दिख रहा था और यह रिकॉर्ड deleteing नहीं किया गया। लेकिन जब मैंने CascadeType.ALL से CascadeType.REMOVE बदल दिया तो यह काम कर रहा था। यह CascadeType.ALL के साथ CascadeType.REMOVE के साथ क्यों काम नहीं कर रहा था?

अग्रिम में इसे आसानी से समझा के लिए धन्यवाद;)

उत्तर

2

This अपने प्रश्न का हिस्सा बताते हैं।

'OrphanRemoval = सच' बनाम 'CascadeType.REMOVE'

दो सेटिंग्स के बीच का अंतर बच्चे को दूर करने के जवाब में है संग्रह मूल इकाई द्वारा बताया से वस्तुओं।

अगर अनाथ रिमूवल = सत्य निर्दिष्ट किया गया है तो हटाया गया पता उदाहरण स्वचालित रूप से हटा दिया गया है। अगर केवल cascade = CascadeType.REMOVE निर्दिष्ट किया गया है रिश्ते को हटाने के बाद कोई स्वचालित कार्रवाई नहीं की जाती है ऑपरेशन को हटाएं।

संबंधित मुद्दे