Impossible de configurer le cache de second niveau de hibernate-ehcache-4.3.5.Final.jar dans Hibernate 5.1.0.Final

Je suis en train de réaliser du cache de second niveau dans mon projet Java EE de l'utilisation d'Hibernate. Mon Hibernate version 5.1.0.Final. J'ai créé un tableau employee dans ma base de données MySQL. J'ai inclus hibernate-ehcache-4.3.5.Final.jar dans mon projet, mais c'est jeter Unable to create requested service [org.hibernate.cache.spi.RegionFactory] erreur. Voici la hibernate.cfg.xml:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

 <hibernate-configuration>
    <session-factory>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/intu</property>
    <property name="hibernate.connection.username">****</property>
    <property name="hibernate.connection.password">****</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

     <property name="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</property>
     <property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>  
<property name="hibernate.cache.use_second_level_cache">true</property>  



 <property name="show_sql">false</property>
 <property name="format_sql">true</property>
 <property name="hbm2ddl.auto">update</property>
 <mapping class="com.dom.Employee"/>  

 </session-factory>
 </hibernate-configuration>

Mon Employee classe:

package com.intu;

import javax.persistence.Entity;
import javax.persistence.Table;

 import org.hibernate.annotations.Cache;
 import org.hibernate.annotations.CacheConcurrencyStrategy;

 @Entity
 @Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
 @Table(name = "employee")
 public class Employee {
    private int id;
    private String name;


    public Employee() {
    }

    public Employee(String name, float salary) {
        super();
        this.name = name;
    }

    public int getId() {
         return id;
    }

    public void setId(int id) {
        this.id = id;
    }  

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    } 
}

Mon Code:

package com.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.intu.Employee;
import com.util.HibernateUtil;

public class Ehcache {

    public static void main(String[] args) {
        //TODO Auto-generated method stub
        System.out.println(org.hibernate.Version.getVersionString());
        SessionFactory factory = HibernateUtil.getSessionFactory();
        Session session1=factory.openSession();  
        Employee emp1=(Employee)session1.load(Employee.class,121);  
        System.out.println(emp1.getId()+" "+emp1.getName());  
        session1.close();  

        Session session2=factory.openSession();  
        Employee emp2=(Employee)session2.load(Employee.class,121);  
        System.out.println(emp2.getId()+" "+emp2.getName());  
        session2.close();   
    }
}

L'erreur est

eb 23, 2016 3:10:49 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.1.0.Final}
Feb 23, 2016 3:10:49 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Feb 23, 2016 3:10:49 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Initial SessionFactory creation  failed.org.hibernate.service.spi.ServiceException: Unable to create requested  service [org.hibernate.cache.spi.RegionFactory]
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:20)
at com.util.HibernateUtil.<clinit>(HibernateUtil.java:7)
at com.test.Ehcache.main(Ehcache.java:14)
Caused by: org.hibernate.service.spi.ServiceException: Unable to create   requested service [org.hibernate.cache.spi.RegionFactory]
at   org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:244)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:208)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:189)
at org.hibernate.boot.internal.MetadataBuilderImpl$MetadataBuildingOptionsImpl.<init>(MetadataBuilderImpl.java:663)
at org.hibernate.boot.internal.MetadataBuilderImpl.<init>(MetadataBuilderImpl.java:127)
at org.hibernate.boot.MetadataSources.getMetadataBuilder(MetadataSources.java:135)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:655)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
at com.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:13)
... 2 more
Caused by: org.hibernate.HibernateException: could not instantiate    RegionFactory [net.sf.ehcache.hibernate.EhCacheRegionFactory]
at   org.hibernate.cache.internal.RegionFactoryInitiator.initiateService(RegionFactor  yInitiator.java:84)
at org.hibernate.cache.internal.RegionFactoryInitiator.initiateService(RegionFactor  yInitiator.java:29)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:234)

Je ne suis pas sûr de ce qu'il est manquant. Ce qui doit être ajouté plus pour le faire fonctionner?

InformationsquelleAutor Syed | 2016-02-23