使用 Spring 3.2.0、Eclipselink 2.5.0-M9
当 persistence.xml 包含:
<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
然后,如果我在运行时通过 emf.getProperties() 检查 EntityManagerFactory,则未设置此属性。
但是,如果我把它放在我的 Spring entityManagerFactory 配置中:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
...
<property name="jpaPropertyMap">
<map>
<entry key="javax.persistence.sharedCache.mode" value="ENABLE_SELECTIVE" />
</map>
</property>
</bean>
然后我可以从 emf.getProperties() 检索属性
此外,似乎在使用 spring 配置时,实际上并未启用共享缓存。这让我相信我没有在弹簧容器中正确设置它。
想法?