我正在尝试将应用程序从 Hibernate 3 升级到 Hibernate 4。该应用程序使用 ehcache。
升级到 Hibernate 4.2.0.Final 时,我按照建议添加了对 hibernate-ehcache-4.2.0.Final 的依赖。
当我启动应用程序时,我收到以下错误:
Caused by: java.lang.NoClassDefFoundError: org/hibernate/cache/TimestampsRegion
根据http://www.javacraft.org/2012/03/migrate-to-hibernate-4-ehcache.html我应该删除对 ehcache-core 的依赖,只使用 hibernate 提供的 jar 来解决这个错误。
现在,如果我按照这些说明删除此依赖项,我使用 net.sf.ehcache.CacheManager 的应用程序将不再编译。
// For example, this no-longer works
CacheManager manager = CacheManager.getInstance();
所以我的问题是,我可以使用这两个库并像以前一样继续工作(不更新应用程序),还是我必须更改应用程序,在这种情况下,hibernate-ehcache 甚至提供访问缓存所需的功能?