के लिए जेपीए एकाधिक दृढ़ता इकाइयों मैंने इसके लिए उत्तर खोजे हैं लेकिन इस सवाल को इस बहुत ही उपयुक्त समुदाय से पूछने में सक्षम नहीं हैं!डीवी/क्यूए/मंच/उत्पादन
- मेरे पास एक स्टैंडअलोन जावा एप्लिकेशन है जो कई वातावरणों में तैनात हो जाता है: देव, क्यूए, मंच, उत्पादन। चूंकि इस तरह के प्रत्येक वातावरण में अपना डेटासोर्स/डीबी होता है और ऐसी संपत्ति फाइलें होती हैं जो विभिन्न गुणों को नियंत्रित करती हैं, इस पर निर्भर करती है कि एप्लिकेशन किस पर्यावरण से चल रहा है। जैसे, मेरे persistence.xml में मैंने देव के लिए एक स्थिरता इकाई परिभाषित की है। उसी फ़ाइल में, मैं अन्य वातावरण के लिए दृढ़ता इकाइयों को भी परिभाषित करना चाहता हूं। ऐसा करने पर, ग्रहण (इंडिगो - नवीनतम) निम्नानुसार शिकायत करता है: "एकाधिक दृढ़ता इकाइयों को परिभाषित किया गया - केवल पहली दृढ़ता इकाई को पहचाना जाएगा"। मैं मानता हूं कि मैंने जो किया है वह कानूनी है और यह एक ग्रहण मुद्दा है .. क्या कोई पुष्टि कर सकता है? साथ ही, क्या यह मेरे वर्तमान सेटअप को दिए जाने वाले सर्वोत्तम प्रथाओं को निर्देशित करेगा?
- मुझे लगता है कि @Entity एनोटेशन के साथ चिह्नित किसी भी इकाई बीन को स्वचालित रूप से persistence.xml फ़ाइल में स्पष्ट रूप से परिभाषित किए बिना उठाया जाएगा:
<class>com.mycompany.model.MyEntityBean</class>
। अगर मैं फ़ाइल में इकाई वर्ग के स्पष्ट समावेशन को छोड़ देता हूं, तो इकाई बीन - हालांकि एनोटेटेड - एक त्रुटि फेंकता है: "कक्षा" com.mycompany.model.MyEntityBean "मैप किया गया है, लेकिन किसी भी दृढ़ता इकाई में शामिल नहीं है" मैंने क्या गलत किया है? - मेरा अंतिम प्रश्न डीबी प्रमाण-पत्रों के संबंध में है: क्या मेरे डीबी प्रमाण-पत्रों को सादा पाठ में persistence.xml फ़ाइल में डालने का सबसे अच्छा अभ्यास है? क्या इसके लिए कोई सुरक्षित विकल्प हैं?
समुदाय धन्यवाद!
p.s - मैं जेपीए विक्रेता के रूप में एक्लिप्ससेंक का उपयोग कर रहा हूं कि इससे कोई फर्क नहीं पड़ता ??
यहाँ मेरी persistence.xml का एक उदाहरण
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="Development">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.mycompany.model.MyEntityBean</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:db2://xxxxxxx" />
<property name="javax.persistence.jdbc.password" value="xxxxxx" />
<property name="javax.persistence.jdbc.user" value="xxxxxxxx" />
</properties>
</persistence-unit>
<persistence-unit name="QA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<class>com.mycompany.model.MyEntityBean</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:db2://xxxxxxx" />
<property name="javax.persistence.jdbc.password" value="xxxxxx" />
<property name="javax.persistence.jdbc.user" value="xxxxxxxx" />
</properties>
</persistence-unit>
</persistence>
क्या आप अपनी persistence.xml सामग्री जोड़ सकते हैं, इससे सभी को समझने में बेहतर मदद मिलेगी। –
हाय नयन, मैंने अपने persistence.xml धन्यवाद का एक छीन लिया है! – ustad