我正在使用OpenJPA 2.1.0来管理我的实体,我正在尝试激活其中一个实体的缓存。我已经按照接下来的步骤进行了操作:
我在persistence.xml文件中添加了下一行。
<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
<properties>
<property name="openjpa.DataCache" value="true(Types=com.example.EntityToCache)"/>
<property name="openjpa.RemoteCommitProvider" value="sjvm"/>
</properties>
实体中的注释@Cacheable。
@Entity
@javax.persistence.Cacheable
public class EntityToCache implements Serializable {
@Id
private String id;
}
但是Cache似乎不起作用。调试我可以看到EntityToCache对象被添加到缓存中,每次我想要检索对象时都会调用cache.get方法,但每次都会执行对数据库的调用。因此缓存失败了。
为什么这不起作用?
提前致谢。