我使用spring数据来实现jpa和mongo。
依赖项
spring版本为4.0.2版本
spring-data-jpa版本为1.4.3发布
spring-data-mongodb版本为1.2.0.RELEASE
xml配置
<context:component-scan base-package="develop" />
<jpa:repositories base-package="develop.erp"
entity-manager-factory-ref="entityManagerFactory"
transaction-manager-ref="transactionManager" />
<mongo:repositories base-package="develop.doc" />
模型
@Document
public class OrderItem extends AbstractDocument {
enter code here
@Id
private BigInteger id;
private Integer orderNumber;
public get and set method ...
}
public interface IOrderItemDao extends PagingAndSortingRepository<OrderItem, BigInteger> {
List<OrderItem> findByOrderNumber(Integer number);
}
exception:
Caused by: java.lang.AbstractMethodError
at org.springframework.data.repository.query.Parameters.getBindableParameters(Parameters.java:235)
at org.springframework.data.repository.query.Parameters.assertEitherAllParamAnnotatedOrNone(Parameters.java:262)
at org.springframework.data.repository.query.Parameters.<init>(Parameters.java:85)
at org.springframework.data.mongodb.repository.query.MongoParameters.<init>(MongoParameters.java:47)
at org.springframework.data.mongodb.repository.query.MongoQueryMethod.createParameters(MongoQueryMethod.java:76)
at org.springframework.data.repository.query.QueryMethod.<init>(QueryMethod.java:70)
at org.springframework.data.mongodb.repository.query.MongoQueryMethod.<init>(MongoQueryMethod.java:62)
at org.springframework.data.mongodb.repository.support.MongoRepositoryFactory$MongoQueryLookupStrategy.resolveQuery(MongoRepositoryFactory.java:119)
at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.<init>(RepositoryFactorySupport.java:304)
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:161)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:162)
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.getObject(RepositoryFactoryBeanSupport.java:44)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:144)
有没有人知道呢?
非常感谢..
发布于 2016-04-27 17:07:56
在我的例子中,我的项目中有spring-data-solr(2.0.1)和spring-data-jpa(1.9.1)。我注意到SolrQueryLookupStrategy实现了来自spring-data-commons的QueryLookupStrategy接口,而spring-data-jpa jar是从spring-data-jpa jar中传递过来的。问题是新的solr与旧的QueryLookupStrategy方法的spring-data-jpa签名不兼容,并且代码没有被正确编译。将spring-data-jpa升级到1.10.1解决了这个问题。我想你也有类似的问题。跟踪异常抛出的位置,并搜索spring jars中的编译问题。
发布于 2018-09-27 05:39:29
这是由于spring-data和db-driver依赖的不兼容版本造成的。请检查db-driver的版本是否与提供的spring-data依赖项兼容。我也面临着同样的问题,通过修改“spring-data”的版本来解决。
https://stackoverflow.com/questions/24582432
复制相似问题