这是我之前问题的后续部分 Spring and Hibernate - changing dialect
例如,如果我有这段 .xml
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="SpringMVCTest" />
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect" >
</prop>
</props>
</property>
</bean>
现在,我想设置hibernate.dialect
到 jndi 通过 jdbc/dialect
公开的值,但是当我输入 <jee:jndi-lookup jndi-name="jdbc/MyDataSource"/>
我得到Invalid content was found starting with element 'jee:jndi-lookup'. No child element is expected at this
所以我怀疑我不能在 prop
中添加任何标签。
那么,有什么方法可以将 jndi 资源插入到此属性中吗?
最佳答案
不完全确定,但您应该可以在这里使用 Spring-EL,如下所示:
<jee:jndi-lookup id="dialect" jndi-name="..." />
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="SpringMVCTest" />
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect" >#{dialect}</prop>
</props>
</property>
</bean>
关于Spring - 从 JNDI 设置属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12179607/