Java 如何使用Hibernate缓存表数据和加速查询?
我在项目中使用Hibernate4、JSF和Spring 我有一些表,如:Java 如何使用Hibernate缓存表数据和加速查询?,java,spring,hibernate,caching,jpa,Java,Spring,Hibernate,Caching,Jpa,我在项目中使用Hibernate4、JSF和Spring 我有一些表,如:ValidStatus,validgroup,ValidAccess,其中我已经填充了一些默认数据 我必须将所有这些表数据放在缓存中,以便在不同页面中的任何时候,我都可以使用这些表来授权用户 我们如何缓存这些表数据?在这种情况下,我必须使用二级缓存,否则其他东西也会起作用吗?Hibernate具有默认的缓存功能 Hibernate第一级缓存是会话级缓存,因此如果对象当前处于Hibernate会话中,将从中获取结果 因此,您
ValidStatus
,validgroup
,ValidAccess
,其中我已经填充了一些默认数据
我必须将所有这些表数据放在缓存中,以便在不同页面中的任何时候,我都可以使用这些表来授权用户
我们如何缓存这些表数据?在这种情况下,我必须使用二级缓存,否则其他东西也会起作用吗?Hibernate具有默认的缓存功能 Hibernate第一级缓存是会话级缓存,因此如果对象当前处于Hibernate会话中,将从中获取结果 因此,您不需要缓存获取的结果,它已经被hibernate缓存了 另请参见
一级缓存仅在当前运行的
会话
(也称为EntityManager
)打开时有效
两个并发事务将在不同的会话中运行,因此每个事务都有自己的一级缓存,这不是您的目标
您需要在并发会话
(s)之间共享的:
- 是一种非常著名的二级缓存实现
- 这是由Red Hat开发的
但我只希望缓存中有有效的表数据,而不是缓存中的每个表或查询数据存储感谢任何gud示例如何与JSf+Spring应用程序集成?