2017-03-28 9 views
0

최대 절전 모드 OGM 5.1.0. 최종 및 hazelcast-hibernate5 1.1.3을 사용 중입니다 (1.2에서도 확인). OGM 호환 최대 절전 모드 ORM 종속성은 POM에있는 5.1.5입니다. 그것은 아직 OGM에 의해 지원되지 않기 때문에 그러나 나는, 5.2 ORM을 업그레이드 할 수 없습니다, https://github.com/hazelcast/hazelcast-hibernate5/issues/13 -hazelcast-hibernate5를 사용한 Hazelcast 예외

Caused by: java.lang.IncompatibleClassChangeError: Expected static method org.hibernate.cache.internal.DefaultCacheKeysFactory.createEntityKey(Ljava/lang/Object;Lorg/hibernate/persister/entity/EntityPersister;Lorg/hibernate/engine/spi/SessionFactoryIm 
    at com.hazelcast.hibernate.region.EntityRegionAccessStrategyAdapter.generateCacheKey(EntityRegionAccessStrategyAdapter.java:66) 
    at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:198) 
    at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:125) 
    at org.hibernate.ogm.loader.impl.OgmLoader.initializeEntitiesAndCollections(OgmLoader.java:807) 
    at org.hibernate.ogm.loader.impl.OgmLoader.doQuery(OgmLoader.java:393) 
    at org.hibernate.ogm.loader.impl.OgmLoader.doQueryAndInitializeNonLazyCollections(OgmLoader.java:283) 
    at org.hibernate.ogm.loader.impl.OgmLoader.loadEntity(OgmLoader.java:201) 
    at org.hibernate.ogm.loader.impl.OgmLoader.loadEntitiesFromTuples(OgmLoader.java:220) 
    at org.hibernate.ogm.loader.entity.impl.DynamicBatchingEntityLoaderBuilder$DynamicBatchingEntityLoader.loadEntitiesFromTuples(DynamicBatchingEntityLoaderBuilder.java:127) 
    at org.hibernate.ogm.query.impl.OgmQueryLoader.listOfEntities(OgmQueryLoader.java:92) 
    at org.hibernate.ogm.query.impl.OgmQueryLoader.list(OgmQueryLoader.java:78) 
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:501) 
    at org.hibernate.ogm.query.impl.OgmQueryTranslator.list(OgmQueryTranslator.java:129) 
    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.getResultList(QueryImpl.java:483) 
    at com.olp.jpa.common.AbstractRepositoryImpl.findAll(AbstractRepositoryImpl.java:137) 

문제는 여기에보고 된 것과 유사 보였다. 문제에 대한 해결책/해결 방법이 있는지 제안하십시오.

+1

'hazelcast-hibernate5 '의 버전 1.1.3과 1.2는 Hibernate 버전'5.0.9.Final'에 의존한다. Maven 설정에서 제외시킬 필요가 있고 버전 5.1.5로 Hibernate 의존성을 직접 선언해야 할 수도 있습니다. – emre

답변

2

버전 1.1.3 및 은 최대 절전 모드 버전 5.0.9.Final에 따라 다릅니다. 당신은 Maven 설정에서 그것을 제외시키고 버전 5.1.5으로 Hibernate 의존성을 선언 할 필요가있다.

최대 절전 모드로 5.1.5을 지원하지 않습니다 hazelcast-hibernate5 보인다

업데이트. 그래서 hazelcast-hibernate5 코드를 수정하여 최대 절전 모드 5.1.5을 지원하고 here에서 찾을 수있는 사용자 지정 버전을 출시했습니다. 이 플러그인은 Maven 중심에서 사용할 수 없으며 플러그인의 공식 릴리스는 아니며, 유스 케이스을 지원하기위한 빠른 변경 만 사용하십시오. 즉, 먼저 로컬 Maven 저장소에 설치 (또는 프로젝트에 직접 JAR을 임베드)해야 함을 의미합니다. this branch에서 변경 한 코드를 보거나 소스에서 직접 빌드를 볼 수 있습니다.

+0

감사합니다. Emre. 이것은 내가 한 일입니다 - com.hazelcast hazelcast-hibernate5 org.hibernate 최대 절전 모드 코어 Rajesh

+0

그리고 최대 절전 모드 의존성 - - org.hibernate 최대 절전 모드 코어 5.1.5.Final 여전히 같은 문제를 타격. 그게 네가 제안한 것과 다른 뭔가인가? – Rajesh

+0

@Rajesh 그건 정확히 내가 제안한 것입니다. 이것은 확실한 첫 번째 것이 었습니다. 이제 우리는 이것을 끝내고이 부분을 더 깊이 살펴볼 것입니다. – emre