सेट करना मान लें कि मेरे पास कनेक्शन url के साथ निम्नलिखित persistence.xml है, उपयोगकर्ता & पासवर्ड सभी हार्ड-कोड किए गए हैं।जेपीए दृढ़ता गुणों को गतिशील रूप से
निम्नलिखित हाइबरनेट 3.2 के लिए है। हाइबरनेट 3.5 ++ के लिए, हमें "hibernate.connection" को "javax.persistence" में बदलना होगा। लेकिन मुझे इस प्रश्न पूछने दें कि शाब्दिक "हाइबरनेट.कनेक्शन" या "जैवैक्स.परिस्टेंस" के बावजूद।
<persistence-unit name="obamacare" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.archive.autodetection" value="class, hbm"/>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver"/>
<property name="hibernate.connection.url" value="blah blah blah"/>
<property name="hibernate.connection.username" value="careuser"/>
<property name="hibernate.connection.password" value="carepass"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
हालांकि, हम गतिशील यूआरएल, उपयोगकर्ता & पासवर्ड सेट करना होगा। एक प्रस्तावित प्रमाणीकरण सर्वर है जो यूआरएल, उपयोगकर्ता & पासवर्ड प्रदान करता है। इसलिए हमें वेबपैड के असंख्य रूप से कॉन्फ़िगर करने की आवश्यकता नहीं है जो कुछ प्रकार के जेडीबीसी, हाइबरनेट या जेपीए का उपयोग करते हैं। दृश्यमान पाठ फ़ाइलों पर पासवर्ड स्टोर/प्रबंधित करने के इच्छुक नहीं होने के सुरक्षा मुद्दे के अलावा।
जहां तक जेपीए का संबंध है, मैं इन जेपीए गुणों को गतिशील रूप से कैसे सेट कर सकता हूं? मैं जवाब के दो सेट की मांग कर रहा हूँ:
एक समाधान जेपीए विक्रेता स्वतंत्र है (Toplink, eclipselink, हाइबरनेट, आदि) के लिए - वहाँ किसी भी जेपीए कार्यक्षमता है कि मुझे इन तीन गुण गतिशील निर्धारित करने की अनुमति होगी है?
मैं संभव जेपीए केवल एवेन्यू के अलावा हाइबरनेट पर पूरी तरह से निर्भर करने के लिए, अनुमति है, वहाँ स्प्रिंग ढांचे (जो हर जगह जाल के साथ एक विशाल कुरूपता की तरह लगता है) को शामिल करने के बिना इस को प्राप्त करने के लिए एक रास्ता है?
मैं उत्तेजित हो जाएगा अगर आप भी दो सेंट में फेंक करना चाहते हैं/quids JNDI और मैं इसे कैसे इस्तेमाल कर सकते हैं persistence.xml गुण की कार्यक्षमता को बदलने के लिए पर/रुपए। हालांकि, यह सवाल की प्राथमिकता नहीं है।
चीजें आप पूरा करने के लिए आसानी से स्प्रिंग उपयोग किया जा सकता चाहते हैं के अधिकांश। मैं कुछ हफ्तों के लिए वसंत का उपयोग कर रहा हूं और मुझे बिल्कुल पछतावा नहीं है। वसंत काम के एक बड़े भार की तरह लगता है लेकिन यह वास्तव में काफी आसान है। – siebz0r