Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでのCrudRepositoryとJPARepositoryの違い


CrudRepositoryとJPAリポジトリはどちらも、Springデータリポジトリライブラリのインターフェイスです。 Springデータリポジトリは、さまざまな永続性レイヤーのデータレイヤーにアクセスするための事前定義されたファインダーを提供することにより、ボイラープレートコードを削減します。

JPAリポジトリーは、CrudRepositoryおよびPagingAndSortingリポジトリーを拡張します。 findOneなどのcrudリポジトリからいくつかのファインダーを継承し、エンティティを取得および削除します。また、レコードをバッチで削除する、データベースベースにデータを直接フラッシュする、ページネーションと並べ替えに関連するメソッドなど、JPAに関連するいくつかの追加メソッドも提供します。

アプリケーションでこのリポジトリを拡張する必要があります。そうすれば、これらのリポジトリで使用できるすべてのメソッドにアクセスできます。ビジネス要件に基づいて、名前付きクエリまたはネイティブクエリを使用して新しいメソッドを追加することもできます。

Sr。いいえ。 キー JPARepository CrudRepository
1 階層 JPAはcrudRepositoryとPagingAndSortingリポジトリを拡張します Crudリポジトリは基本インターフェースであり、マーカーインターフェースとして機能します。
2 バッチサポート JPAは、レコードをバッチで削除したり、データをデータベースに直接フラッシュしたりするなど、JPAに関連するいくつかの追加メソッドも提供します。 findOne、savesなどのCRUD関数のみを提供します。
3 ページネーションのサポート JPAリポジトリは、PagingAndSortingリポジトリも拡張します。これは、ページ付けを実装するのに役立つすべての方法を提供します。 Crudリポジトリは、ページ付けと並べ替えを実装するためのメソッドを提供していません。
4 ユースケース JpaRepositoryは、リポジトリをJPA永続化テクノロジーに結び付けるため、回避する必要があります。 並べ替えとページングが必要かどうかに応じて、CrudRepositoryまたはPagingAndSortingRepositoryを使用する必要があります。

JpaRepositoryの例

@Repository
public interface BookDAO extends JpaRepository {
   Book findByAuthor(@Param("id") Integer id);
}

CrudRepositoryの例

@Repository
public interface BookDAO extends CrudRepository {
   Book Event findById(@Param("id") Integer id);
}

  1. JavaでのCrudRepositoryとJPARepositoryの違い

    CrudRepositoryとJPAリポジトリはどちらも、Springデータリポジトリライブラリのインターフェイスです。 Springデータリポジトリは、さまざまな永続性レイヤーのデータレイヤーにアクセスするための事前定義されたファインダーを提供することにより、ボイラープレートコードを削減します。 JPAリポジトリーは、CrudRepositoryおよびPagingAndSortingリポジトリーを拡張します。 findOneなどのcrudリポジトリからいくつかのファインダーを継承し、エンティティを取得および削除します。また、レコードをバッチで削除する、データベースベースにデータを直接フラッ

  2. JavaでのArrayListとHashSetの違い

    HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり