为什么在hibernate docs中我看到带有缓存实体的注释的引用?
例如: http://docs.jboss.org/hibernate/orm/4.2/manual/en-US/html_single/#performance-cache-mapping
modal: false
是否需要@Cacheable和@Cache注释?
答案 0 :(得分:2)
如果你只使用Hibernate,只使用@Cache就可以了,因为@Cacheable是另一个你可以和JPA或Spring一起使用的选项。
@Cacheable通常用于JPA实体。在文档中,它们只是指@Cache注释,所以只关注它。
这是查看Hibernate Cache Levels的一个很好的资源: http://www.javacodegeeks.com/2012/02/hibernate-cache-levels-tutorial.html
希望这会有所帮助。尽我所能:)
答案 1 :(得分:0)
简而言之:不。
总之:@Cache是Hibernate提供的缓存接口,而@Cacheable是JPA规范提供的接口。您可以在其中一个中进行选择,甚至可以同时使用它们。请注意,仅当您的persistence.xml将缓存元素设置为ENABLE_SELECTIVE或DISABLE_SELECTIVE时,@ Cacheable才会起作用。