हम 4.1.2 को हाइबरनेट 3.6.7 से उन्नयन और चींटी उपकरण का उपयोग कर 3.5.0हाइबरनेट उपकरण: पार्स करने में त्रुटि JNDI नाम
हम एक डीबी निर्माण स्क्रिप्ट उत्पन्न करने के लिए 3.2.0 हाइबरनेट की कोशिश कर रहे:
<hibernatetool destdir="${target}">
<jpaconfiguration persistenceunit="stdcmpOrderPersistenceUnit" propertyfile="@{propertyfile}"/>
<classpath refid="@{classpathid}"/>
<!-- the file name is relative to $destdir -->
<hbm2ddl outputfilename="@{output}" format="true" export="false" drop="false"/>
</hibernatetool>
हमारा इस तरह हठ इकाई देखो:
<persistence-unit name="stdcmpOrderPersistenceUnit" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>jdbc/lakshmi_stdcmp</jta-data-source>
<mapping-file>META-INF/stdcmpOrderNamedQueries.xml</mapping-file>
<class>ch.ethz.id.wai.lakshmi.stdcmp.persistency.PersistentOrder</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.format_sql" value="false"/>
</properties>
</persistence-unit>
उन्नयन हम निम्न त्रुटि प्राप्त करने के बाद:
[hibernatetool] org.hibernate.service.jndi.JndiException: Error parsing JNDI name [jdbc/lakshmi_stdcmp]
[hibernatetool] javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
हाइबरनेट जेएनडीआई नाम को हल करने का प्रयास क्यों करता है क्योंकि PersistenceUnit पर सभी जानकारी उपलब्ध है? हमें पुराने संस्करण के साथ कोई समस्या नहीं थी।
और किसी भी मामले में हम नामकरण कारखाना कैसे निर्दिष्ट कर सकते हैं? (और कौन सा?)
स्टैक ओवरफ़्लो में आपका स्वागत है! हालांकि यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, [यह बेहतर होगा] (http://meta.stackexchange.com/q/8259) यहां उत्तर के आवश्यक हिस्सों को शामिल करने के लिए, और संदर्भ के लिए लिंक प्रदान करें। – Spontifixus
इसे इंगित करने के लिए धन्यवाद। –
कोई विचार क्यों हाइबरनेट ऐसा नहीं करता है? – webber