すべてのRepositoryに共通処理を定義したい場合の方法
実装方法
公式ドキュメントをそのままコピペしただけ
共通Repository実装
MyRepositoryImpl.java
class MyRepositoryImpl<T, ID extends Serializable> extends SimpleJpaRepository<T, ID> {
共通Repository設定
JavaConfig.java
@Configuration
@EnableJpaRepositories(repositoryBaseClass = MyRepositoryImpl.class)
class ApplicationConfiguration { … }
or
config.xml
<repositories base-package="com.acme.repository" base-class="….MyRepositoryImpl" />
参考
terasolunaドキュメント
http://terasolunaorg.github.io/guideline/5.3.1.RELEASE/ja/ArchitectureInDetail/DataAccessDetail/DataAccessJpa.html#custommethod-all-label
base-classを2つ以上定義したい場合
config.xml
<repositories base-package="com.acme.repository1" base-class="….MyRepository1Impl" />
<repositories base-package="com.acme.repository2" base-class="….MyRepository2Impl" />