我正在使用Hibernate作为我的二级缓存(Ehcache),但二级缓存仅适用于session.load类型,当我编写自己的查询时,它无效。
String hql = "FROM Personalisation E WHERE E.userId = "+id;
Query query = session.createQuery(hql);
List<?> results = query.list();
Employee emp = session.load(Employee.class, id);
<?xml version="1.0"?>
<ehcache>
<defaultCache
maxElementsInMemory="100"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="200" />
<cache name="com.intu.Employee"
maxElementsInMemory="100"
eternal="false"
timeToIdleSeconds="10"
timeToLiveSeconds="200" />
<cache name="com.intu.Personalisation"
maxElementsInMemory="100"
eternal="false"
timeToIdleSeconds="10"
timeToLiveSeconds="200" />
</ehcache>