NHibernate सभी हटाएं-अनाथ - nhibernate अक्षम करें

आवेदन NHHernate का उपयोग करें।मेरे पास ऑब्जेक्ट ए है जिसमें ऑब्जेक्ट्स बी का सेट है। मेरे पास मेरी कॉन्फ़िगरेशन फ़ाइल में कैस्केड = "ऑल-डिलीट-अनाथ" है। जब मैं किसी ऑब्जेक्ट में परिवर्तन करता हूं, तो सहेजें, ऑब्जेक्ट बी भी सहेज रहा है। बचत बी को कैसे रोकें? क्या एक पल के लिए कैस्केड को अक्षम करना संभव है? सादर मार्सिन

उत्तर:

उत्तर № 1 के लिए 1

आप IStatlessSession का उपयोग करने पर विचार कर सकते हैं

एक स्टेटलेस का उपयोग करके प्रदर्शन किया सत्र करोकभी कैस्केड नहीं जुड़े उदाहरण संग्रह हैं एक स्टेटलेस सत्र द्वारा अनदेखा किया। एक स्टेटलेस के माध्यम से प्रदर्शन ऑपरेशन सत्र बाईपास हाइबरनेट "घटना मॉडल और interceptors। स्टेटलेस सत्र डेटा एलियासिंग के लिए कमजोर हैं ए की कमी के कारण प्रभाव प्रथम स्तर के कैश। एक स्टेटलेस सत्र एक निम्न स्तरीय अमूर्तता है, बहुत कुछ अंतर्निहित एडीओ के करीब।


जवाब के लिए 0 № 2

कैस्केड सेविंग को रोकने के लिए, आपको मैपिंग से विशेषता को हटाना होगा। चूंकि मैपिंग सत्र कारखाने में बनाए जाते हैं, अस्थायी रूप से कैस्केड को अक्षम करने का कोई आसान तरीका नहीं है।


संबंधित सवाल
सबसे लोकप्रिय