यह हमारे अनुप्रयोगों में एक आम स्थिति है कि कुछ इकाई को एक enum द्वारा प्रतिनिधित्व किया जाना चाहिए: उदाहरण के लिए प्रकार, श्रेणियां, स्थिति, और ऐसी चीजें।जावा एनम और डेटाबेस तालिका के बीच डुप्लिकेशंस को कैसे संभालें?
अक्सर, कोड में स्थितियां या प्रवाह होते हैं जो मूल्यों का उपयोग एक क्रिया या किसी अन्य के बीच तय करने के लिए करते हैं, इसलिए मूल्यों को एप्लिकेशन के लिए किसी भी तरीके से "ज्ञात" होना चाहिए (यानी इसे संदर्भित करने में सक्षम होना चाहिए पूरी तरह कक्षा को संदर्भित करने के बजाय निर्णय लेने के लिए एक विशिष्ट उदाहरण के लिए)। यही कारण है कि हम केवल एक नियमित कक्षा के बजाय enums का उपयोग करें।
समस्या यह है कि इन इकाइयों को अन्य संस्थाओं के क्षेत्र के रूप में डेटाबेस में संग्रहीत (या कम से कम संदर्भित) की आवश्यकता होती है। हम आम तौर पर इन कॉलम में रेफरेंसियल अखंडता जांच करने में सक्षम होने के लिए प्रत्येक इकाई के लिए एक टेबल बनाते हैं, और यह भी कि प्रत्येक आईडी का अर्थ जानने के लिए एनम को संदर्भित करने के लिए डेटा को अकेले डेटाबेस में "अर्थ" है ।
आदर्श रूप से, इन इकाइयों के लिए डेटा enum में डेटा से पॉप्युलेट किया जाना चाहिए, लेकिन आजकल हमारे पास डीबी प्रारंभिक स्क्रिप्ट में मूल्यों को डुप्लिकेट किया गया है।
यह थोड़ा और जटिल हो जाता है जब एक ओआरएम जैसे हाइबरनेट का उपयोग किया जाता है।
मैं जानना चाहता हूं कि अन्य लोग इस तरह की स्थिति को कैसे संभालेंगे।
मैं एक enum और एक डेटाबेस तालिका के बीच एक दोहराव होने के विचार के साथ पूरी तरह से सहज नहीं हूँ, लेकिन मैं अभी तक एक बेहतर समाधान नहीं मिली है।
इस से पहले कई बार कहा गया है - दाएँ हाथ की ओर –