休眠缓存注释

Sea*_*row 5 hibernate jpa ehcache

为什么在 hibernate 文档中,我会在实体上看到带有两个注释的引用以进行缓存?

例如:http : //docs.jboss.org/hibernate/orm/4.2/manual/en-US/html_single/#performance-cache-mapping

@Entity 
@Cacheable
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class Forest { ... }
Run Code Online (Sandbox Code Playgroud)

@Cacheable 和 @Cache 注释都需要吗?

小智 5

如果您只使用 Hibernate,那么只使用 @Cache 就可以解决问题,因为 @Cacheable 是您可以与 JPA 或 Spring 一起使用的另一个选项。

@Cacheable 通常用于 JPA 实体。在文档中,他们只是指@Cache 注释,所以只关注它。

这里有一个很好的资源来查看 Hibernate 缓存级别:http : //www.javacodegeeks.com/2012/02/hibernate-cache-levels-tutorial.html

希望这可以帮助。尽力了:)