आप className
. को स्पष्ट रूप से अक्षम कर सकते हैं विशेषता:@Entity(noClassnameStored = true)
यदि कोई एकल इकाई वर्ग है, तो मैं आम तौर पर विशेषता को दबा रहा हूं। अगर मैं अपनी इकाई को उपवर्गित कर रहा हूं, तो मैं इसे स्पष्ट रूप से सक्षम कर रहा हूं (जो कि डिफ़ॉल्ट है, लेकिन सिर्फ सुनिश्चित करने के लिए)।
अगर मैं गलत नहीं हूं, तो मॉर्फिया गुणों के आधार पर सही उपवर्ग का अनुमान लगाने के लिए पर्याप्त चतुर है, भले ही कोई className
न हो। (प्रतिबिंब के आधार पर)। इसलिए यदि आपके पास mongoKnowledge विशेषता है आपके उपवर्ग में डेवलपर व्यक्ति . का और आपका उपवर्ग प्रबंधक यह नहीं है, मॉर्फिया को पता चल जाएगा कि mongoKnowledge . के साथ दस्तावेज़ डेवलपर . वर्ग का होना चाहिए . तो सख्ती से बोल रहा हूँ className
केवल तभी आवश्यक है जब आपके उपवर्गों में समान विशेषताएं हों; हालांकि, मैं इस पर बहुत अधिक भरोसा नहीं करूंगा।
मैंने इकाई वर्गों का नाम बदलने की कोशिश नहीं की है, लेकिन शायद इससे समस्याएं पैदा होंगी। @Polimorphic
. प्रदान करने के लिए एक लंबे समय से चली आ रही समस्या है एनोटेशन और उसके साथ इसे ठीक करने के लिए। देखें https://code.google.com/p/morphia/issues/detail?id=22