我有一个像
这样的存储库定义public interface UserRepository extends CrudRepository<User, Long> {}
在Spring上下文文件中我有
<jpa:repositories base-package="my.package"/>
然后我尝试做类似
的事情new Repositories(applicationContext).getRepositoryFor(User.class);
但我收到了错误
方法&#34; getRepositoryFor&#34;签名 &#34;(Ljava /郎/类;)Lorg / springframework的/数据/库/ CrudRepository;&#34; 不适用于此对象
有谁知道我做错了什么?
答案 0 :(得分:2)
这更像是Spring Data JPA模块和Spring Data Commons之间的版本不兼容。确保使用从您使用的Spring Data JPA版本的pom.xml
引用的Spring Data Commons版本。或者,甚至更好:根本不要声明对Spring Data Commons的依赖。
答案 1 :(得分:2)
我见过这个问题。正如Oliver所说,这是Spring Data JPA和Spring Data Commons之间的版本不兼容。
Repositories.getRepositoryFor()
的一个版本返回CrudRepository
,另一个版本返回Object
,可能是为了容纳以容纳PagingAndSortingRepository
Repository
}。 [根据奥利弗的评论编辑。]