मैं गुण फ़ाइलों के बजाय जेएनडीआई का उपयोग कर स्प्रिंग + हाइबरनेट वेब एप्लिकेशन को कॉन्फ़िगर करने का प्रयास कर रहा हूं। सबकुछ ठीक पोर डेटाबेस यूआरएल, पासवर्ड, लॉगिन इत्यादि काम करता है, लेकिन मुझे जेएनडीआई संदर्भ से बोली नहीं मिल सकती है।जेएनडीआई (वसंत के साथ) का उपयोग करके हाइबरनेट की बोली को कॉन्फ़िगर करें
मैं अपने datatabase-context.xml में यह उपयोग कर रहा हूँ:
<bean id="databaseUrl" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/url"/>
</bean>
<bean id="databaseDriver" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/driver"/>
</bean>
<bean id="databaseUsername" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/username"/>
</bean>
<bean id="databasePassword" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/password"/>
</bean>
<bean id="databaseDialect" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/dialect"/>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" ref="databaseDriver"/>
<property name="url" ref="databaseUrl"/>
<property name="username" ref=databaseUsername"/>
<property name="password" ref="databasePassword"/>
<property name="maxWait" value="30000"/>
<property name="validationQuery" value="select 1"/>
<property name="maxActive" value="100"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan">...</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>
<!--<prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop>-->
<!--<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>-->
</props>
</property>
</bean>
समस्या यह है कि मैं कैसे <prop name="hibernate.dialect">blabla</prop>
संपत्ति के अंदर databaseDialect के लिए JNDI मान का उपयोग करना नहीं आता है।
कोई विचार?
सही काम करता है! धन्यवाद! – infinito