1.加入hibernate-memcached.jar及相關jar包(具體見http://code.google.com/p/hibernate-memcached/)
2.在applicationContext.xml中配置
............
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="${jpa.showSql}" />
<property name="generateDdl" value="${jpa.generateDdl}" />
<property name="database">
<util:constant
static-field="org.springframework.orm.jpa.vendor.Database.ORACLE" />
</property>
</bean>
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.max_fetch_depth">3</prop>
<prop key="hibernate.cache.use_second_level_cache">
true
</prop>
<prop key="hibernate.cache.use_structured_entries">
true
</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">
com.googlecode.hibernate.memcached.MemcachedCacheProvider
</prop>
<prop key="hibernate.memcached.servers">
10.1.19.132:33001 10.1.19.132:33002 10.1.19.132:33003
</prop>
</props>
</property>
</bean>
............
3.在實體類上配置緩存策略
如@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
下面這幾種情況就
不適合加載到二級緩存中:
1.經常被修改的數據
2.絕對不允許出現并發訪問的數據
3.與其他應用共享的數據
下面這己種情況
合適加載到二級緩存中:
1.數據更新頻率低
2.允許偶爾出現并發問題的非重要數據
3.不會被并發訪問的數據
4.常量數據
5.不會被第三方修改的數據