2017-06-20 17 views
0

必要に応じて、特定の動作を拡張して実装するには、汎用リポジトリが必要です。たとえば、CrudRepositoryの半分のメソッドを使用しますが、このリポジトリから拡張すると、他の不要なメソッドが公開されています。 Springデータリポジトリ(CrudRepository、PagingAndSortingRepository)を使用するのではなく、カスタムリポジトリを使用する方が良いですか?不要なメソッドを公開するのはどうですか?Springデータ組み込みのリポジトリまたはカスタム

+0

基本的な実装が組み込みのSpringリポジトリ呼び出しを利用するが、必要のないSpring呼び出しへのアクセスを隠すインタフェース型を作成してみませんか? – anon58192932

+0

それは、Springの組み込みリポジトリから拡張された方がよいかという疑問です。 –

+0

一般に、既存の機能を変更せずに機能を追加したい場合は、そのクラスから拡張します。クラスのアクセス方法を形にしたい場合は、そのクラスのインターフェイスを変更しています。どのインタフェースタイプが対象であるか。 – anon58192932

答えて

-1

interface MySpringRepoType

public class RepoImpl extends SpringRepository implements MySpringRepoType

あなたはあなたが望んでいないが、あなたは、インターフェイスタイプMySpringRepoTypeにアクセスした場合のみ、インターフェース定義関数は、呼び出し元に表示されている必要があり、すべてのSpringRepositoryものにアクセスすることができますRepoImpl生タイプにアクセスする場合。これにより、誰かに見せたくないSpringの機能を「隠す」ことができます。

関連する問題