हाइबरनेट को "हटाने-अनाथ" के लिए एक-से-एक या कई-से-एक संबंधों के लिए कोई समर्थन नहीं है। मैंने हाल ही में यह खोजा है, और यह मुझे गंभीर सिरदर्द दे रहा है। मेरे मॉडल में मेरे पास कुछ कक्षाएं हैं जिन्हें डिजाइन किया गया था कि बच्चे के पास असली दुनिया नहीं है जिसका अर्थ माता-पिता के बाहर है। मेरे माता-पिता के लिए केवल एक डीएओ है, और बाल वर्ग के लिए अलग डीएओ नहीं है।हाइबरनेट की हटाने के अनाथ-अनाथ समर्थन के लिए एक-से-एक और कई से एक रिश्ते के लिए कामकाज?
यह काम करता है:
parent.getChild().setProperty("something");
parentDao.save(parent);
यह कुछ भी नहीं करता है:
parent.setChild(null);
parentDao.save(parent);
यह बेहद दुर्भाग्यपूर्ण है क्योंकि अब मैं अपने डीएओ परत पर पुनर्विचार करने के लिए है और मेरी सेवा के संचालन के लिए कुछ है परत।
क्या किसी ने इस सीमा के आसपास एक सुरुचिपूर्ण तरीके से काम किया है? मैं वास्तव में केवल मूल वस्तुओं के साथ खुद को चिंता करना चाहता हूं। इस विशेष मामले में, हाइबरनेट को खुश करने के अलावा, और केवल बच्चों को हटाने के मामले में बच्चे के दृढ़ता से निपटने का कोई कारण नहीं है।
ऐसा लगता है कि इसके बारे में एक साल पहले हल किया गया था अभिलेख को नष्ट/प्रोजेक्ट/हाइबरनेट/ब्राउज/एचएचएच -4726 –
@ सवानाः ऐसा लगता है कि 'डिलीवरी-अनाथ' '' के लिए समर्थित है यदि संबंध 'बाधित नहीं है' (http://docs.jboss.org/hibernate देखें /core/3.6/reference/en-US/html/mapping.html#onetoone4)। मैं इसे अपने आप को शायद ही समझा सकता हूं, क्योंकि एक-एक के लिए हमेशा एक रेफरेंशियल कुंजी बाधा होती है। –