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>
간단한 쿼리를 실행 시도하고 오류가 계속 존재하는 경우를 참조하십시오. – JMelnik
그것은 jar 충돌처럼 보입니다. 실패한 곳 : 서버 또는 junit? 어떤 서버가 배포 되었습니까? more info .. – JIV
@JMelnik,이 간단한 쿼리를 잘 작동; 공간 성분이없는 것들. 이로 인해 문제가있는 공간 구성 요소라는 결론에 도달하게되었습니다. – okello