Estou utilizando a versão 5.2.18.Final do hibernate e estou tentando utilizar a biblioteca de cache de segundo nível hibernate-ehcache e quando uma consulta é realizada acontece o seguinte erro:
Caused by: java.lang.AbstractMethodError: org.hibernate.cache.ehcache.internal.regions.EhcacheQueryResultsRegion.get(Lorg/hibernate/engine/spi/SessionImplementor;Ljava/lang/Object;)Ljava/lang/Object;
at org.hibernate.cache.internal.StandardQueryCache.getCachedResults(StandardQueryCache.java:242)
at org.hibernate.cache.internal.StandardQueryCache.get(StandardQueryCache.java:158)
at org.hibernate.loader.Loader.getResultFromQueryCache(Loader.java:2546)
at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2454)
at org.hibernate.loader.Loader.list(Loader.java:2426)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:501)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:370)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1339)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:87)
at org.hibernate.jpa.internal.QueryImpl.list(QueryImpl.java:606)
at org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:529)
Pelo que andei pesquisando acontece um conflito da classe EhcacheQueryResultsRegion entre as bibliotecas hibernate-ehcache e net.sf.ehcache.ehcache, as duas bibliotecas possuem esta mesma classe, porém as assinaturas dos métodos são diferentes, sendo que a própria bilbioteca do hibernate-ehcache importa a bilbioteca net.sf.ehcache.ehcache.
Segue a configuração do hibernate no meu pom.xml:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.18.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.2.18.Final</version>
<exclusions>
<exclusion>
<groupId>antlr</groupId>
<artifactId>antlr</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>4.3.11.Final</version>
<exclusions>
<exclusion>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>5.2.18.Final</version>
</dependency>