मुझे 4.2.7 से हिब्ररनेट 4.3.x में अपग्रेड करने में समस्या है।हाइबरनेट 4.3 + टॉमकैट 7 जेएनडीआई नाम देखने में असमर्थ
Caused by: javax.naming.NameNotFoundException: Name [java:comp/env/jdbc/data] is not bound in this Context. Unable to find [java:comp].
at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
at org.apache.naming.NamingContext.lookup(NamingContext.java:154)
at javax.naming.InitialContext.lookup(InitialContext.java:415)
at org.hibernate.engine.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:114)
... 82 more
मैं बिलाव 7.0.29 (7.0.47 की कोशिश की और साथ ही) और JDK 7 (V25) का उपयोग कर रहा: मैं इस अपवाद मिला है। हाइबरनेट 4.2.7 के साथ कोई समस्या नहीं है।
यहाँ मेरी persistence.xml है:
<persistence-unit name="data" transaction-type="RESOURCE_LOCAL">
<non-jta-data-source>java:comp/env/jdbc/data</non-jta-data-source>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.format_sql" value="true" />
</properties>
</persistence-unit>
लेकिन मुझे नहीं लगता कि यहां समस्या है। मैंने डीबग शोध का थोड़ा सा किया और निम्नलिखित पाया:
JndiServiceImpl#locate(String jndiName)
एक प्रारंभिक संदर्भ बनाता है जो अलग है।
4.3.0 - org.apache.naming.NamingContext
4.2.7 - org.apache.naming.SelectorContext
इस के अलावा, मैं किसी भी अधिक मतभेद नहीं पा सके।
मुझे इस मुद्दे के लिए कुछ समान विषय मिले, लेकिन कोई मदद नहीं मिली। किसी भी मदद के लिए धन्यवाद।
क्या आपने server.xml में किसी भी डेटास्रोत को परिभाषित किया था? –
नहीं, मैंने नहीं किया। क्या मैं? मैंने server.xml में किसी भी डीएस को कभी परिभाषित नहीं किया है। – vernjan
किसी ने यहां एक बग रिपोर्ट पोस्ट की है: https://hibernate.atlassian.net/browse/HHH-8818 –