0

这就是我的实体的样子

@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"
/>

问:我已经将时间设置为零并将永恒设置为假,但是当我尝试从数据库加载实体时。它仍然从缓存中获取。time=0 表示没有缓存对吗?我错过了什么吗?

参考:我的 appcontex.xml 在http://www.copypastecode.com/16833/

4

1 回答 1

2

timeToIdleSeconds 和 timeToLiveSeconds 都将零视为无穷大。它不会从我的 iPhone 上正确剪切和粘贴,但是如果您在此处的 ehcache 配置文档中查找 timeToLiveSeconds,它会显示“值为 0 意味着元素可以无限存在”。

于 2009-12-04T02:46:33.270 回答