के साथ एकाधिक डेटाबेस मेरे पास 2 डेटाबेस हैं जिन्हें मुझे कनेक्ट करने की आवश्यकता है। मैं आसानी से तो जैसे application.conf फ़ाइल में उन्हें करने के लिए कनेक्ट कर सकते हैं:प्ले फ्रेमवर्क 2.1.x
db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost/db1"
db.default.user=postgres
db.default.password="password"
db.secondary.driver=org.postgresql.Driver
db.secondary.url="jdbc:postgresql://localhost/db2"
db.secondary.user=postgres
db.secondary.password="password"
ebean.default="models.db1.*"
ebean.secondary="models.db2.*"
मैं उन संकुल में अपने मॉडल श्रेणियां होती हैं, और यह DDL ठीक से तालिकाओं उत्पन्न करता है।
समस्या वास्तव में इन इकाइयों के साथ काम करने में निहित है।
List<Users> users = Users.find.all();
यह इस फेंकता है: "डिफ़ॉल्ट" पैकेज में नहीं कुछ भी (एक उदाहरण के रूप माध्यमिक डेटाबेस में उपयोगकर्ता तालिका का उपयोग कर) इस त्रुटि
अगर मैं तालिका की सभी पंक्तियों क्वेरी करने के लिए कोशिश फेंकता त्रुटि:
[PersistenceException: models.db2.Users is NOT an Entity Bean registered with this server?]
हालांकि मैं 100% यकीन है कि उपयोगकर्ता तालिका बैकएंड में वहाँ है कर रहा हूँ, यह एक पंजीकृत तालिका DDL काम करता है और इस तालिका को ठीक से बनाता है, और मैं उचित वर्गों का आयात कर रहा हूँ।
क्या कोई निश्चित तरीका है कि मुझे मॉडल क्लास से पूछने की ज़रूरत है जो डिफ़ॉल्ट पैकेज में नहीं हैं?
संपादित करें: मुझे एहसास है कि स्टैक ट्रेस दिखाता है कि यह डिफ़ॉल्ट सर्वर का उपयोग करने का प्रयास कर रहा है। मैं इसे द्वितीयक सर्वर का उपयोग कैसे कर सकता हूं?
at com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:989) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.core.DefaultServer.createQuery(DefaultServer.java:946) ~[avaje-ebeanorm-server.jar:na]
at com.avaje.ebeaninternal.server.core.DefaultServer.find(DefaultServer.java:982) ~[avaje-ebeanorm-server.jar:na]
at play.db.ebean.Model$Finder.all(Model.java:254) ~[play-java-ebean_2.10.jar:2.1.3]
किसी ने अभी तक आपके प्रश्न का उत्तर नहीं दिया है, इसलिए मुझे लगता है कि आपके प्रश्न में 'संपादित करें' को जोड़ने के बजाय, आपको वास्तव में यह पूछने के लिए संपादित करना चाहिए कि आपको वास्तव में क्या चाहिए। –
models.db2 का उपयोग करने के बजाय। * Application.conf में, models.db2.Users डालने का प्रयास करें। – Franz
@ ग्रेगकोफ, मैंने केवल EDIT कहा क्योंकि मुझे यकीन नहीं था कि अगर कोई प्रश्न संपादित करता है तो कोई जवाब दे रहा था। –