我已经检查了Jcache规范,我的理解是它在加载和从缓存中删除对象方面提供了更大的灵活性,但你必须编写自己的数据访问。
Hibernate L2缓存非常适合缓存来自RDBMS的数据,但在填充和驱逐方面提供的灵活性有限。
可以将两种功能中的最佳功能一起使用,以避免在Jcache实现中实现数据访问,例如Ignite,它可以满足两种规范。
更精确的是,Ignite创建的单个缓存对象可以同时被视为Hibernate L2缓存和Jcache。
我想使用Jcache注释,并在需要时使用hibernate进行数据库操作
答案 0 :(得分:9)
Hibernate 5.x内置了对JCache as L2 cache provider的支持! 在这种情况下,您不需要坚持使用任何专有集成API并使用任何JCache implementations。
答案 1 :(得分:1)
是的,Ignite具有本机Hibernate支持,请参阅https://apacheignite.readme.io/docs/hibernate-l2-cache