2014-01-24 2 views
0

В спящем версии 3.X это можно настроить кэш-памяти 2 уровня в hibernate.cfg так:спящего режима 4.3.0 конфигурации кэша 2 уровня

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

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

В версии 4.3.0 нет класса EhCacheProvider в org.hibernate.cache упаковка.

Какое обходное решение для этой ситуации?

Благодаря

+2

http://docs.jboss.org/hibernate/core/4.3/manual/en-US/html_single/#performance-cache –

+1

Привет. Ссылка указывает, что для использования 'EHCache' мне нужно свойство' org.hibernate.cache.ehcache.EhCacheRegionFactory'. Опять же, там нет такого класса. – whiteErru

ответ

1

ШАГ 1Добавить Ehcache DEPENDENCY

Hibernate поставляется с библиотекой Ehcache

1.1] Maven Зависимость

добавить Maven зависимость для Ehcache в вашем приложении, как

<dependency> 
    <groupId>net.sf.ehcache</groupId> 
    <artifactId>ehcache</artifactId> 
    <version>[2.0.0]</version> 
    <type>pom</type> 
</dependency> 

1.2] Скачать Jar файл

Если вы не используете Maven зависимостей вы можете скачать баночки файл из Download URL добавить этот jar в каталог lib и ваш проект CLASSPATH.

ШАГ 2Настройка Ehcache

Чтобы настроить EHCache, что вам нужно сделать два шага:

2,1] настроить Hibernate для кэширования второго уровня

<property key="hibernate.cache.use_second_level_cache">true</property> 

2,2] Определяет кэш поставщика второго уровня

Hibernate 3.3 и выше

<property name="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</property> 

Hibernate 3.2 и ниже

<property name="hibernate.cache.region.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property> 

надеюсь, что это поможет вам!

+0

Большое спасибо. Это явно то, что я искал. Но теперь он бросает 'java.lang.ClassNotFoundException: org.hibernate.cache.EntityRegion'. И очевидно, что класс «EntityRegion» также отсутствует в пакете «org.hibernate.cache». Должен ли я добавить еще одну банку? Примечание. Я не использую зависимость maven в проекте. – whiteErru

+0

, который в настоящее время использует версию hibernate? его 4.3.0 право? –

+0

Вы добавили файл ehcache-core-2.4.4.jar в свой путь к классу? –

0

Добавить ниже depenedency в вашей пом.

<dependency> 
<groupId>org.hibernate</groupId> 
<artifactId>hibernate-core</artifactId> 
<version>4.1.9.Final</version> 
</dependency> 

<dependency> 
<groupId>org.hibernate</groupId> 
<artifactId>hibernate-ehcache</artifactId> 
<version>4.1.9.Final</version> 
<exclusions> 
    <exclusion> 
    <groupId>net.sf.ehcache</groupId> 
    <artifactId>ehcache-core</artifactId> 
    </exclusion> 
</exclusions> 
</dependency> 

Обратитесь к этой ссылке: https://dzone.com/articles/hibernate-4-and-ehcache-higher

Смежные вопросы