जब मैं अपने हाइबरनेट उपकरण चलाता हूं तो यह डीबी से पढ़ता है और प्रत्येक टेबल, और संयुक्त प्राथमिक कुंजी के लिए जावा क्लास के लिए जावा क्लास बनाते हैं। यह बढ़िया है।"कैटलॉग" विशेषता के बिना हाइबरनेट टूल एनोटेशन पीढ़ी चलाना
समस्या इस लाइन
@Table(name="tst_feature"
,catalog="tstdb"
)
जबकि तालिका नाम की आवश्यकता है, "सूची" विशेषता की आवश्यकता नहीं है है। कभी कभी मैं "tstdb" उपयोग करना चाहते हैं, कभी कभी मैं "tstdev"
मैंने सोचा जो डाटाबेस में चुना गया था JDBC कनेक्शन यूआरएल पर निर्भर करता है, लेकिन जब मैं JDBC यूआरएल बदलने के लिए "tstdev" बात करने के लिए उपयोग करना चाहते हैं, यह अभी भी "tstdb" उपयोग कर रहा है
हां, तो मुझे पता है क्या किया जाना चाहिए, बस नहीं जानता कि इसका कैसे किया जाता है मेरे विकल्प
- रहे हैं "सूची" विशेषता की पीढ़ी को दबाने वर्तमान में मैं इसे मैन्युअल रूप से कर रहा हूं (नहीं बहुत ही उत्पादक) या मैं एक प्रोग्राम है जो जावा फ़ाइल को पार्स करता है लिख सकते हैं और मैन्युअल विशेषता को हटाने, लेकिन मैं मैं
या
- की जरूरत नहीं है आशा करती हूं कि हो सकता है एक तरह से बताने के लिए लगता है "कैटलॉग" विशेषता को अनदेखा करने के लिए हाइबरनेट करें और स्पष्ट रूप से निर्दिष्ट स्कीमा का उपयोग करें। मुझे पता नहीं है कि मुझे सटीक सेटिंग को बदलने के लिए इसे बदलना है, या यहां तक कि यदि विकल्प उपलब्ध है।
तालिका तत्व कैटलॉग, हाँ से तालिकाओं का चयन करता है। लेकिन यह मैं नहीं चाहता हूं। मैं चाहता इकाई "सूची" विशेषता के बिना उत्पन्न करने यदि सूची विशेषता नहीं है, कोई बात नहीं क्या मेरी JDBC यूआरएल है, यह अभी भी एक ही स्कीमा को इंगित होता है, मैं स्विच करने में सक्षम होना चाहता हूँ इकाइयों को फिर से उत्पन्न किए बिना स्कीमा। –
मैं FTL फ़ाइलों पर एक दृष्टि डाली दर्शाने वाली पंक्ति है <#if clazz.table.catalog? मौजूद है> , सूची = "$ {clazz.table.catalog}" #if> कैसे करना है पर कोई विचार मैंने इसे झूठा करने के लिए सेट किया? –
मैंने इसे <संपत्ति का नाम = "डिफ़ॉल्ट_catalog"> xxx में hibernate.cfg.xml फ़ाइल का उपयोग किया –