2017-01-03 49 views
1

我想知道春季的@Repository@RepositoryDefinition之间的区别。哪一个会在@EnableNeo4jRepositories生效?Spring中的@Repository和@RepositoryDe​​finition有什么区别?

+0

您完全不需要'@ Repository'和Spring Data接口。这是一个常见的误解。 '@ Repository'是一个元注释,它可以添加到存储库层的实现中,而不是接口(它基本上与'@ Component'功能相同)。 – dunni

回答

4

对于Neo4j,我无法回答,但在两个Spring注释之间做出决定是一个设计决定。我会从official documentation引用:

通常情况下,你的资料库界面将延长RepositoryCrudRepositoryPagingAndSortingRepository。或者,如果您不想扩展Spring Data接口,也可以用@RepositoryDefinition注释您的 存储库接口。

API doc是更加明确:

注解的接口与RepositoryDefinition将导致相同的行为延伸Repository

您可能也有兴趣Using @RepositoryDefinition and JpaSpecificationExecutor methods doesn't work了。

相关问题