其实这个就和hibernate.cfg.xml一样,用于管理持久层的配置。
不过写法和hibernate.cfg.xml有一些区别。
在hibernate.cfg.xml我们可以这样写:
<property name="show_sql">true</true>
但是在persistence.xml里面,我们得在value里面写:
<property name="show_sql" value="true"/>
之后建立实体就可以使用我们的Annotation了,不用再使用mapping文件了。
如果要使用到hibernate的高级功能,只需要在这个persistence.xml里面添加就可以了,例如我想添加二级缓存还有查询缓存,可以添加:
<!-- 配置缓存插件 -->
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider"/>
<!-- 开启二级缓存 -->
<property name="hibernate.cache.use_second_level_cache" value="true"/>
而且当实体需要使用缓存的时候,我们只需要加上这个Annotation:
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class MyModel{}
这相当于在mapping文件里面添加:
<cache usage="read-only"/>