这就是我的实体的样子
@Entity
@Cache(usage=CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Table(name = "TestPojoOnly")
@NamedQueries({@NamedQuery(name = "TestPojoOnly.findAll", query = "SELECT h FROM TestPojoOnly h"), @NamedQuery(name = "TestPojoOnly.findById", query = "SELECT h FROM TestPojoOnly h WHERE h.id = :id"), @NamedQuery(name = "TestPojoOnly.findByCategoryname", query = "SELECT h FROM TestPojoOnly h WHERE h.categoryname = :categoryname")})
public class TestPojoOnly implements Serializable {
我的ehcache.xml
<cache name="com.package.model.TestPojoOnly"
maxElementsInMemory="200"
eternal="false"
overflowToDisk="false"
timeToIdleSeconds="0"
timeToLiveSeconds="0"
/>
问。我已经将时间设置为零而永恒为假,但是当我尝试从db加载实体时。它仍然来自缓存。 time = 0表示没有缓存权限?我错过了什么吗?
参考:我在http://www.copypastecode.com/16833/的appcontex.xml
答案 0 :(得分:2)
timeToIdleSeconds和timeToLiveSeconds都将零视为无穷大。它不会从我的iPhone上正确剪切和粘贴,但是如果你在ehcache配置文档here上找到timeToLiveSeconds,它会说“值为0表示一个元素可以为无限生存。”