Hibernate永远不会在您的缓存上执行查询。它可以做的是在数据库上执行查询,缓存结果,并在下次您使用相同的参数执行下一次查询时返回这些缓存的结果。但是要做到这一点,查询每次执行时都必须是可缓存的。
使用JPA API,可以直接在命名查询定义上或每次创建查询时使用查询提示来完成此 *** 作:
@NamedQuery(name = "Cars.findAll", query = "SELECt d FROM Cars d", hints = {@QueryHint(name = "org.hibernate.cacheable", value = "true")})
现在查询是可缓存的,Hibernate将在第一次执行该查询时从数据库中加载汽车的ID,然后再从查询缓存中加载。然后,相应的汽车本身将从实体缓存中加载。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)