मैं एक वेब एप्लिकेशन पर काम कर रहा हूं। हम अपने प्रोजेक्ट में ओआरएम के रूप में हाइबरनेट का उपयोग कर रहे हैं। असल में, हमारा एप्लिकेशन उपयोगकर्ता चयन के आधार पर गतिशील रूप से कुछ तालिकाओं को बनाता है। उपयोगकर्ता तालिका का नाम, कॉलम नाम का चयन कर सकता है और फिर वह एक सीएसवी फ़ाइल से डेटा आयात कर सकता है। तो मेरा सवाल है: हाइबरनेट और जावा ऑब्जेक्ट्स के साथ इस गतिशील रूप से बनाई गई तालिका को कैसे मैप करना है?हाइबरनेट में गतिशील रूप से बनाई गई तालिका को कैसे मानचित्र करें?
उत्तर
यह गतिशील रूप से किया जा सकता है, लेकिन यह कुछ हद तक गंदा है:
आप गतिशील हाइबरनेट के विन्यास वस्तु को बदलने के लिए पहले SessionFactory बनाया गया है की आवश्यकता होगी। यदि आप वसंत का उपयोग कर रहे हैं, तो AnnotationSessionFactoryBean
की विधि को ओवरराइड करके किया जा सकता है; अन्यथा आपको buildSessionFactory()
पर आक्रमण करने से पहले अपने कॉन्फ़िगरेशन ऑब्जेक्ट का उपयोग करके इसे करने की आवश्यकता होगी।
यदि आपको एप्लिकेशन को पुनरारंभ किए बिना ऐसा करने की ज़रूरत है, तो आप या तो अपने सत्र फ़ैक्टरी का पुनर्निर्माण कर रहे हैं (जिसका अर्थ है कि आपके उपयोगकर्ताओं को ऐसा करने तक इंतजार करना होगा) या एक अलग सत्र फ़ैक्टरी उदाहरण का उपयोग करना जो विशेष रूप से आपके कस्टम वर्ग (जिसे यदि आपके कस्टम वर्गों को आपके अंतर्निहित कक्षाओं का संदर्भ देने की आवश्यकता है तो असंभव के बगल में है)।
आप configuration.getMappings()
के माध्यम से कक्षा/तालिका मैपिंग तक पहुंच प्राप्त कर सकते हैं। इसके बाद आपको Table API के माध्यम से एक नया टेबल मैपिंग बनाने की आवश्यकता होगी और इसे addTable()
के माध्यम से कॉन्फ़िगरेशन में जोड़ें। उसी चीज को PersistentClass के साथ किया जाना चाहिए जो क्लास मैपिंग का प्रतिनिधित्व करता है। यदि आप एकाधिक इकाइयों का प्रतिनिधित्व करने के लिए एक ही कक्षा का उपयोग कर रहे हैं (उदा। एकाधिक टेबल मैप करें) प्रत्येक के लिए अद्वितीय इकाई नामों का उपयोग करना सुनिश्चित करें। आपको प्रत्येक ऐप को पुनरारंभ करने पर यह करना होगा (कॉन्फ़िगरेशन को बदलें)।
कितनी तालिकाओं गतिशील रूप से बनाई गई हैं? क्या टेबल समान हैं और आप बस डेटाबेस नाम बदलते हैं? किसी दृश्य पर http://www.experts-exchange.com/Programming/Languages/Java/J2EE/Frameworks/Spring/Q_24237099.html
आप पूरी तरह से एक नई तालिका का निर्माण कर रहे हैं, तो आप एक दृश्य का उपयोग कर सकते हैं और सिर्फ प्रत्यक्ष लोग:
यहाँ तालिका नाम बदलने का एक चर्चा है?
जेडीबीसी में केवल गतिशील रूप से प्रश्न बनाने के बजाय, आप इसके लिए हाइबरनेट का उपयोग क्यों कर रहे हैं?
डेटाबेस समाधान - आप एक दृश्य बना सकते हैं और इसे एक तालिका या दूसरे पर इंगित कर सकते हैं (माना जाता है कि संरचना समान है)।
लेकिन इस रूप में चुनें * देखें HIBERNATE_NAME बनाएं TABLE_A
सेया बनाएँ देखें HIBERNATE_NAME रूप चुनें * TABLE_B
सेआप देशी एसक्यूएल (DDL) निष्पादित करने के लिए आप आवेदन की आवश्यकता होगी, हाइबरनेट हैक्स से आसान होना चाहिए
- 1. गतिशील रूप से बनाई गई तालिका से इकाई फ्रेमवर्क का उपयोग कर डेटा क्वेरी करना
- 2. गतिशील रूप से बनाई गई दांतेदार आयताकार सरणी
- 3. अगली बार गतिशील रूप से बनाई गई सेटिंग्सप्रॉपर्टी को वापस कैसे लोड करें?
- 4. सी में structs की गतिशील रूप से बनाई गई सरणी की लंबाई कैसे प्राप्त करें?
- 5. क्या मैं एक गतिशील रूप से बनाई गई सी # तालिका को एक HTML स्ट्रिंग में परिवर्तित कर सकता हूं?
- 6. कैसे गतिशील रूप से एक HTML तालिका
- 7. Google मानचित्र मार्करों को गतिशील रूप से श्रोताओं को जोड़ना
- 8. गतिशील रूप से लोड की गई लाइब्रेरी
- 9. FastReport में डेटासेट को गतिशील रूप से कैसे असाइन करें?
- 10. मानचित्र हाइबरनेट
- 11. कई लोगों के लिए Django द्वारा बनाई गई तालिका से सीधे पूछताछ कैसे करें?
- 12. किसी तालिका प्लेआउट में गतिशील रूप से कॉलम कैसे बनाएं?
- 13. नई बनाई गई इकाई
- 14. CreateProcess() द्वारा बनाई गई प्रक्रिया को कैसे समाप्त करें?
- 15. openssl द्वारा बनाई गई pycrypto हस्ताक्षर में कैसे सत्यापित करें?
- 16. एमएस एक्सेस में स्थानीय तालिका में एक लिंक की गई तालिका को प्रोग्रामेटिक रूप से कैसे कॉपी करें?
- 17. पृष्ठभूमि से xargs द्वारा बनाई गई कमांड को भेजना
- 18. आईओएस में तालिका दृश्य को गतिशील रूप से कैसे अपडेट करें?
- 19. जावा में स्थिरता को गतिशील रूप से कैसे प्राप्त करें?
- 20. एक निर्देशिका में बनाई गई LINQ
- 21. गतिशील रूप से Google मानचित्र infowindow कैसे जोड़ें?
- 22. .NET में बनाई गई ओपनएक्सएमएल स्प्रेडशीट आईपैड
- 23. गतिशील रूप से जोड़ने और हटाने तालिका पंक्तियों - एंड्रॉयड
- 24. हाइबरनेट में मॉडल से तालिका का नाम प्राप्त करें
- 25. जेपीए दृढ़ता गुणों को गतिशील रूप से
- 26. गतिशील रूप से जावास्क्रिप्ट मानचित्र में डेटा जोड़ें
- 27. स्मृति में संग्रहीत गतिशील रूप से जेनरेट की गई असेंबली को कैसे सहेजना है?
- 28. गतिशील रूप से स्ट्रिंग
- 29. बेसिक: सत्र आईडी कैसे बनाई गई है?
- 30. एएसपीनेट में गतिशील रूप से अनियंत्रित सूची कैसे उत्पन्न करें?
मैं सहमत हूं कि इस समस्या के लिए हाइबरनेट का उपयोग करना सही नहीं है। – sbidwai