Spring数据 - 修改查询和ehcache(缓存)

时间:2014-02-09 10:00:04

标签: java spring caching ehcache spring-data

是否可以进行弹簧数据修改查询,例如:

@Modifying
@Query("update User u set u.firstname = ?1 where u.lastname = ?2")
int setFixedFirstnameFor(String firstname, String lastname);

自动使我的用户实体的ehcache无效?

谢谢!

2 个答案:

答案 0 :(得分:1)

是的,如果您使用例如READ_WRITE缓存并发策略将User实体声明为缓存,则可以:

@org.hibernate.annotations.Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class User {
    ...
}

在这种情况下,Hibernate将自动处理缓存失效。

答案 1 :(得分:0)

查看记录here的Spring Cache抽象。它基本上允许您配置什么来缓存/逐出哪里并完全配置在应用程序配置中使用哪个缓存提供程序。

请注意,这将缓存在带注释的方法级别上。