प्रश्न डॉक्टरेट के बारे में है लेकिन मुझे लगता है कि इसे कई ओआरएम तक बढ़ाया जा सकता है।ओआरएम में इकाइयों को अलग करने और विलय करने की आवश्यकता क्यों है?
अलग करें:
एक इकाई एक EntityManager से अलग है और इस तरह नहीं रह गया है उस पर
EntityManager#detach($entity)
विधि लागू करके या द्वारा इसे करने के लिए अलग आपरेशन व्यापक में कामयाब रहे। पृथक इकाई में किए गए परिवर्तन, यदि कोई है (इकाई को हटाने सहित) इकाई को अलग करने के बाद डेटाबेस में सिंक्रनाइज़ नहीं किया जाएगा।
सम्मिलित करें:
विलय संस्थाओं एक EntityManager इतना है कि वे फिर से कामयाब हो जाते हैं के संदर्भ में की (आम तौर पर अलग) संस्थाओं विलय को दर्शाता है। किसी इकाई की स्थिति को EntityManager में मर्ज करने के लिए
EntityManager#merge($entity)
विधि का उपयोग करें। उत्तीर्ण इकाई की स्थिति इस इकाई की एक प्रबंधित प्रति में विलय हो जाएगी और यह प्रतिलिपि बाद में लौटा दी जाएगी।
मैं समझता हूं (लगभग) यह कैसे काम करता है, लेकिन सवाल यह है: क्यों किसी को एंटीटीज को अलग करने/विलय करने की आवश्यकता होगी? क्या आप मुझे एक उदाहरण/परिदृश्य दे सकते हैं जब इन दोनों परिचालनों का उपयोग/आवश्यकता हो सकती है?
मैं सभी के साथ सहमत है फ्लश के बारे में क्या कहा जाता है इसके अलावा कहा। फ्लश विधि डेटाबेस के साथ इकाइयों को सिंक्रनाइज़ करता है लेकिन लेनदेन सीमाओं के अंदर। यह एक ही लेनदेन के भीतर एक प्रश्न का आह्वान करने पर खेलने के लिए आता है। इस प्रकार आप गारंटी देते हैं कि क्वेरी की प्रसंस्करण इस लेनदेन के अपडेट को ध्यान में रखती है। – Sam
आप सही हैं @ सैम, मैं फ्लश विधि के साथ गलत था। – manix
यह एक अच्छा स्पष्टीकरण (+1) है, लेकिन किसी को पहले स्थान पर एक से अधिक इकाई प्रबंधक का उपयोग क्यों करना चाहिए? यह नहीं मिल सकता है, क्षमा करें, हमेशा एक इकाई प्रबंधक के साथ सिद्धांत का उपयोग करें ... – gremo