这就是我的实体样子
@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表示元素可以无限生存”。