这就是我的实体样子

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


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

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

最佳答案

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

07-27 18:31