سؤال

أسفل توضيح للتسلسل الهرمي لمشروعي

project hierarchy
(مصدر: yfrog.com)

عندما أحاول توصيل ملف file_name.java الخاص بي إلى السبات ، أحصل على هذه الأخطاء

Exception in thread "main" org.hibernate.HibernateException: Could not instantiate cache implementation
    at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:64)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:214)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1218)
    at net.pkg.dao.FirstExample.main(FirstExample.java:17)
Caused by: org.hibernate.cache.NoCachingEnabledException: Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache]
    at org.hibernate.cache.NoCacheProvider.buildCache(NoCacheProvider.java:21)
    at org.hibernate.cache.CacheFactory.createCache(CacheFactory.java:61)

المشكلة لها علاقة مع hibernate.cfg.xml... لكنني غير قادر على حلها. أيه أفكار؟

هل كانت مفيدة؟

المحلول

أظن أنك تستخدم أي منهما @Cacheable أو @Cache في كياناتك دون تنشيط ذاكرة التخزين المؤقت من المستوى الثاني ، ومن هنا جاءت رسالة الخطأ:

o.h.c.NoCachingEnabledException: Second-level cache is not enabled for usage ...

أنت بحاجة إلى شيء مثل هذا في hibernate.cfg.xml لاستخدام ذاكرة التخزين المؤقت من المستوى الثاني (أنا أستخدم Ehcache كموفر ذاكرة التخزين المؤقت هنا):

<property name="hibernate.cache.use_second_level_cache">true</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>

سواء كنت بحاجة حقًا إلى ذاكرة التخزين المؤقت من المستوى الثاني هي قصة أخرى.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top