这是我上一个问题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资源插入到这个属性中吗?
发布于 2012-08-30 00:52:16
不完全确定,但您应该能够在这里使用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>https://stackoverflow.com/questions/12179607
复制相似问题