Exception in thread "main" org.hibernate.MappingException: You may only specify a cache for root

如果出现类似下面的错误:


Exception in thread "main" org.hibernate.MappingException: You may only specify a cache for root <class> mappings
    at org.hibernate.cfg.Configuration.getRootClassMapping(Configuration.java:2724)
    at org.hibernate.cfg.Configuration.applyCacheConcurrencyStrategy(Configuration.java:2764)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1375)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1826)
    at zhongfucheng.aa.App5.main(App5.java:17)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Process finished with exit code 1

查看你设置的在配置文件设置的缓存类是否是继承着别的类,也就是说:我开始的时候是配置的是Monkey这个类…而Monkey这个类继承着Animal,因此报错了。。

也就是说:Hibernate在二级缓存中不能配置子类

原文地址:https://www.cnblogs.com/zhong-fucheng/p/7202958.html