Spring Data JPA を使用する場合、開発者は多くの場合、基礎となるフレームワークによって提供される組み込みの crud 機能とファインダー機能を利用します。ただし、場合によっては、ファインダーのカスタマイズやまったく新しいメソッドの追加が必要になる場合があります。この記事では、特定の Spring Data JPA リポジトリ インターフェイスの実装でカスタム メソッドを追加する方法について説明します。
提供された例では、AccountRepository インターフェイスはパラメータ化された型で JpaRepository を拡張します。 Account と Long。Long 型の主キーを持つ Account エンティティを操作することを示します。さらに、findByCustomer というカスタム ファインダー メソッドが @Query アノテーションを使用して定義されており、これによりカスタム JPQL クエリを実行できるようになります。
リポジトリを完全にカスタマイズするには、別の次のようなインターフェイス:
public interface AccountRepositoryCustom { public void customMethod(); }
このインターフェイスはカスタム メソッドを宣言しますcustomMethod().
カスタム インターフェイスの実装クラスを指定する必要があります:
public class AccountRepositoryImpl implements AccountRepositoryCustom { @Autowired private AccountRepository accountRepository; public void customMethod() { // Implementation goes here } }
この例では、AccountRepository が自動接続されています。 AccountRepositoryImpl クラス。以下の場合に、customMethod() 実装内で任意のリポジトリ メソッドを呼び出すことができます。
最後のステップでは、元の AccountRepository インターフェイスでカスタム インターフェイスを参照します。
public interface AccountRepository extends JpaRepository<Account, Long>, AccountRepositoryCustom {}
JpaRepository と AccountRepositoryCustom の両方を拡張することで、AccountRepositoryインターフェイスは、組み込みリポジトリ メソッドと AccountRepositoryCustom で定義されたカスタム メソッドを組み合わせます。インターフェース。
以上がSpring Data JPA リポジトリにカスタム メソッドを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。