1

我不想将我的自定义存储库实现与域包分开。而且,可能是一些常见的接口。例如我想要有这样的结构

  com
       domain
            Foo
            FooRepository
       common
            Bar
       persistence
            BarImpl

interface FooRepository extends Bar{}

<jpa:repositories base-package="com.domain" /> // smt else?

我应该如何配置这个?

4

1 回答 1

3

仅当您将存储库类放在同一个包中并使用默认后缀或定义后缀以手动使用时,存储库类的自动拾取才有效。因此,在您的情况下,您必须将 aFooRepositoryImpl放入domain包中。repository-impl-postfix您可以使用该属性自定义后缀。如果您想将实现放入另一个包中,您可以使用fooRepositoryImplbean id 手动声明自定义实现 bean。然后该类可以驻留在您想要的任何包中。

我假设这Bar是包含自定义方法声明的接口。实际上,我们建议将自定义存储库接口和实现都放在同一个包中,并使其受到包保护,以避免客户端单独使用它。这样,所有客户端实际看到的是包含查询方法和手动实现的统一存储库接口。

于 2011-09-04T20:04:09.393 回答