यह सही है कि मैं EntityManager#merge()
उपयोग करने के लिए, जब तक कि मैं केवल
संलग्न
कामयाब संस्थाओं से निपटने की जरूरत है कभी नहीं? दूसरे शब्दों में, एक
संलग्न
कामयाब इकाई पर merge()
बुला कोई प्रभाव नहीं है?जेपीए: संलग्न इकाइयों के लिए कभी भी आवश्यक विलय कर रहा है?
या वहां परिस्थितियों में जहां एक उद्देश्य पूरा होगा विलय कर रहे हैं? मुझे लगता है ऐसा नाम है जो मैं इसे इस्तेमाल कर सकते हैं एक OptimisticLockException
से निपटने के लिए सुझाव देते हैं ... :)
संपादित: बहुत सरल शब्दों में, एक कामयाब इकाई की मेरी समझ है कि उसके गुण/क्षेत्रों के संशोधनों मिलता है लेनदेन के अंत में डीबी के लिए जारी रखा।
Thx! प्रबंधित == संलग्न? क्या आप कृपया कैस्केड-टू-रेफरेंस-एंटिटीज के बारे में विस्तृत जानकारी दे सकते हैं (या मुझे पढ़ने के लिए सामग्री की ओर इशारा करते हैं)? मुझे लगता है कि एक संलग्न इकाई के लिए, सभी संदर्भित इकाइयां भी संलग्न हैं ... – Hank
प्रबंधित है, हां। संदर्भ सामग्री ? जेपीए स्पेक शायद ... बस "विलय" के लिए इसमें खोजें। – DataNucleus
निर्भर करता है कि आप किस जेपीए कार्यान्वयन का उपयोग कर रहे हैं लेकिन 'प्रबंधित! = संलग्न'। यदि आप किसी इकाई को संदर्भ से बाहर भेजते हैं (एक सेवा कॉल के साथ कहें) और इसे बाद में प्राप्त करें, तो यह दृढ़ता संदर्भ से जुड़ा होगा, लेकिन तब तक इसे फिर से प्रबंधित नहीं किया जाता जब तक कि 'मर्ज' नहीं कहा जाता है। [EntityManager.Contains] (http://java.sun.com/javaee/5/docs/api/javax/persistence/EntityManager.html#contains (java.lang.Object)) आपको बताती हैं कि वस्तु प्रबंधित किया जाता है जाएगा। –