JPA仅仅只是一个规范,而不是产品;使用JPA本身是不能做到持久化的。所以,JPA只是一系列定义好的持久化操作的接口,在系统中使用时,需要真正的实现者,在这里,我们使用Hibernate作为实现者。
JPA规范中定义了很多的缓存类型:一级缓存,二级缓存,对象缓存,数据缓存
hibernate实现中只有三种缓存类型: 一级缓存,二级缓存和查询缓存。 在hibernate的实现概念里,他把什么集合缓存之类的统一放到二级缓存里去了。
1. 一级缓存
不需要有特殊配置。同一个session就行
2. 二级缓存
开启步骤
1:实体类直接打上 javax.persistence.Cacheable 标记。 (@Cacheable )
如
@Entity
@Table(name ="tablename")
@Cacheable
public class XxxEntity{
}
2:加@cache
如
@Entity
@Table(name ="tablename")