2012-08-27 4 views
0

org.hibernate.criterion.CriteriaQuery.getFactory()해결 java.lang.NoSuchMethodError : I는 다음 Hibernate 질의 가지고

java.lang.NoSuchMethodError: org.hibernate.criterion.CriteriaQuery.getFactory()Lorg/hibernate/engine/spi/SessionFactoryImplementor;

내 스프링 구성 파일의 관련 섹션은 다음과 같습니다 :

<bean id="propertyConfigurer" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" 
     p:location="/WEB-INF/jdbc.properties" /> 

    <bean id="dataSource" 
     class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" 
     p:driverClassName="${jdbc.driverClassName}" 
     p:url="${jdbc.databaseurl}" p:username="${jdbc.username}" 
     p:password="${jdbc.password}" /> 


    <bean id="sessionFactory" 
     class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource" /> 
     <property name="configLocation"> 
      <value>classpath:hibernate.cfg.xml</value> 
     </property> 
     <property name="configurationClass"> 
      <value>org.hibernate.cfg.AnnotationConfiguration</value> 
     </property> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">${jdbc.dialect}</prop> 
       <prop key="hibernate.show_sql">true</prop> 
      </props> 
     </property> 
    </bean> 

    <bean id="transactionManager" 
     class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 

내 환경 : Hibernate-3.6.10.FINAL, Spring 3.1.2.RELEASE, Hibernate Spatial 4.x, PostGIS JDBC 1.5.2 및 PostgreSQL 8.4-702.jdbc3.

내가 무엇을 잘못하고 있는지에 대한 아이디어는 높이 평가 될 것입니다.

업데이트 : 이것은 간단한 쿼리에서 작동합니다. 공간 데이터를 포함하지 않는 쿼리. 그래서, 나는 공간적인 요소에 문제가 있다고 생각합니다.

업데이트 : pom.xml, 관련 POM 파일을 POM 파일에 포함 시켰습니다.

<properties> 
     <spring.version>3.1.2.RELEASE</spring.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.5.1</version> 
     </dependency> 

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

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-spatial</artifactId> 
      <version>4.0-M1</version> 
     </dependency> 

     <dependency> 
      <groupId>org.postgis</groupId> 
      <artifactId>postgis-jdbc</artifactId> 
      <version>${hibernate-spatial.version}</version> 
      <exclusions> 
       <exclusion> 
        <artifactId>postgis-jdbc</artifactId> 
        <groupId>org.postgis</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 

     <dependency> 
      <groupId>org.postgis</groupId> 
      <artifactId>postgis-jdbc</artifactId> 
      <version>1.5.2</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>3.6.10.Final</version> 
     </dependency> 


     <dependency> 
      <groupId>postgresql</groupId> 
      <artifactId>postgresql</artifactId> 
      <version>8.4-702.jdbc3</version> 
     </dependency> 

     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.6.6</version> 
     </dependency> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
+0

간단한 쿼리를 실행 시도하고 오류가 계속 존재하는 경우를 참조하십시오. – JMelnik

+0

그것은 jar 충돌처럼 보입니다. 실패한 곳 : 서버 또는 junit? 어떤 서버가 배포 되었습니까? more info .. – JIV

+0

@JMelnik,이 간단한 쿼리를 잘 작동; 공간 성분이없는 것들. 이로 인해 문제가있는 공간 구성 요소라는 결론에 도달하게되었습니다. – okello

답변

0

My environment: Hibernate-3.6.10.FINAL, Hibernate Spatial 4.x

그러나 http://www.hibernatespatial.org/는 :

Compatibility with Hibernate ORM

Hibernate Spatial version 1.0 is compatible with Hibernate 3.2.x - 3.5.x 
Hibernate Spatial version 1.1.x is compatible with Hibernate 3.6.x 
Hibernate Spatial version 4.0 is compatible with Hibernate 4.x 
+0

감사합니다. @ Vadzim,이 포인터입니다. 변경 사항을 적용하고 몇 분 후에 사용해 보겠습니다. – okello

+0

pom.xml에서 버전을 업데이트했습니다. 이제는 sessionFactory를 만들 수 없으므로 앱을 배포 할 수 없습니다. 나는 나중에 이것을 다시보아야 할 것이다. 나는 그 다음 나의 발견을 게시 할 것이다. 고마워요. – okello

+0

. 결국 다른 여러 변경 사항들 중에서도이 작업을 수행했습니다. Hibernate Spatial 4.x가 나머지 작업을하는 것은 상당히 어려웠습니다. 이것에 대한 게시물을 준비하겠습니다. – okello

관련 문제