Spring Boot

Spring Data Repositories

Spring Data repositories、CrudRepository と JpaRepository、カスタムクエリ、@EntityGraph、プロジェクション

25 面接問題·
Mid-Level
1

JpaRepository と CrudRepository の主な違いは何ですか?

回答

JpaRepository は CrudRepository と PagingAndSortingRepository の両方を継承し、flush()、saveAndFlush()、deleteInBatch() などの JPA 固有のメソッドを追加します。CrudRepository は基本的な CRUD 操作(save、findById、delete)のみを提供します。JpaRepository を使うと、複数のインターフェースを組み合わせる必要なく、すべての高度な JPA 機能にアクセスできます。

2

repository 階層における PagingAndSortingRepository の役割は何ですか?

回答

PagingAndSortingRepository は CrudRepository を継承し、ページネーションとソートのための findAll(Pageable) および findAll(Sort) メソッドを追加します。これにより Page/Slice を使ってデータをページ単位で取得し、結果をソートできます。JpaRepository はこのインターフェースを継承しているため、ページネーション、ソート、JPA 固有の機能を 1 つのインターフェースで提供します。

3

Spring Data の repository インターフェースの正しい階層はどれですか?

回答

正しい階層は Repository(基底)→ CrudRepository(CRUD)→ PagingAndSortingRepository(ページネーション/ソート)→ JpaRepository(JPA 固有)です。各レベルが機能を追加します。CrudRepository は save/delete を、PagingAndSortingRepository はページネーション/ソートを、JpaRepository は flush/batch を追加します。このアーキテクチャにより、必要な機能レベルを選択できます。

4

JpaRepository のどのメソッドが、変更を即座にデータベースと同期できますか?

5

どのような場合に JpaRepository よりも CrudRepository を選ぶべきですか?

+22 面接問題

次の面接に向けてSpring Bootをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める