उलटा विशेषता सही पर सेट नहीं किया जाना चाहिए ...
आप संघ के 'मालिक' निर्दिष्ट करने के लिए उलटा विशेषता का उपयोग। (एक एसोसिएशन के पास केवल एक मालिक हो सकता है, इसलिए एक छोर को विपरीत में सेट करना होगा, दूसरे को 'गैर व्यस्त' पर सेट करना होगा)। (स्वामी: inverse=false
गैर-मालिक: inverse=true
)
एक एक-से-कई संघ में, यदि आप उलटा अंत के रूप में संग्रह चिह्नित नहीं करते, तो NHibernate एक अतिरिक्त अद्यतन प्रदर्शन करेंगे। असल में, इस मामले में, एनएचबीर्नेट पहले संग्रह में निहित इकाई को सम्मिलित करेगा, यदि आवश्यक हो तो उस संग्रह को रखने वाले इकाई को सम्मिलित करें, और उसके बाद, 'संग्रह इकाई' अपडेट करें, ताकि विदेशी कुंजी सेट हो और एसोसिएशन बनाया गया है। (ध्यान दें कि इसका मतलब यह भी है कि आपके डीबी में विदेशी कुंजी शून्य होनी चाहिए)।
जब आप संग्रह को 'उलटा' के रूप में चिह्नित करते हैं, तो NHibernate पहले उस इकाई को बनाए रखेगा जो संग्रह का मालिक है, और बाद में संग्रह में मौजूद इकाइयों को जारी रखेगा, अतिरिक्त अद्यतन विवरण से परहेज करेगा।
तो, एक द्वि-दिशात्मक संघ में, आपके पास हमेशा एक व्यस्त अंत होता है।
स्रोत
2009-04-03 12:11:26
आप मेरे उत्तर की जांच भी कर सकते हैं, "[इनवर्स =" सच | झूठी "] (http://stackoverflow.com/a/6951546/221708) का उपयोग करने के लिए," इसी तरह के प्रश्न पर। –