इससे पहले कि मैं सवाल के बारे में बात करूं, पहले थोड़ा सा परिचय; मुझे ओआरएम पसंद है। और मुझे SQL से नफरत है। मुझे ORM से प्यार है क्योंकि वे SQL-है कि उपयोगकर्ता-अमित्र गड़बड़ को छिपाते हैं, और डेटाबेस से निपटने के लिए एक अच्छा भाषा-एकीकृत तरीका प्रदान करते हैं।
हालाँकि, मैं मानता हूँ कि एसक्यूएल के बहुत सारे लाभ हैं, जिनमें से एक बड़ा सटीक है। मैं एक SQL क्वेरी की जटिलता के बारे में बहुत बहस कर सकता हूं, अंतर्निहित डेटाबेस स्कीमा के विस्तृत ज्ञान के बिना, बस क्वेरी के माध्यम से जाकर। इसलिए, जब मैं SQL का उपयोग करता हूं, तो मैं हमेशा सतर्क रहता हूं, और मुझे हमेशा एक अंतर्ज्ञान होता है कि एक घटक की जटिलता कहां बढ़ रही है।
दूसरी ओर, ओआरएम का उपयोग करते समय, मैं डेटाबेस एकीकरण में आसानी से अभिभूत होता हूं, कि मैं शाब्दिक रूप से भूल जाता हूं यहां तक कि एक डेटाबेस भी है। यह मुझे कई बार खराब कर चुका है। अतीत में कई बार, मैंने निर्दोष-दिखने वाले ओआरएम तरीकों को बुलाया है, कि पर्दे के पीछे बड़े पैमाने पर और डरावने डेटाबेस जुड़ते हैं, जो प्रदर्शन को नष्ट करते हैं।
इसीलिए मेरे लिए, सच्चाई कहीं न कहीं है। मुझे ओआरएम का उपयोग करना पसंद है, और मैं ऐसा करना जारी रखूंगा, लेकिन मुझे अधिक सावधान रहना चाहिए और हमेशा किसी भी ओआरएम विधि कॉल के निहितार्थ (एसक्यूएल स्तर पर) का अध्ययन करना चाहिए। एक अमूर्त परत के निहितार्थ को जानना इस व्यवसाय में शुद्ध सोना है, और अमूर्त के उपयोग को सही ठहराता है। कुछ भी हो, पैर पर खुद को गोली मारने जैसा है।