Spring Boot

JPA クエリ

JPA クエリ:メソッド名による導出、JPQL を用いた @Query、ネイティブクエリ、ページネーション、ソート

30 面接問題·
Mid-Level
1

JPQL とは何ですか?

回答

JPQL(Java Persistence Query Language)は、データベースのテーブルではなく JPA エンティティを問い合わせるオブジェクト指向の言語です。ネイティブ SQL とは異なり、JPQL はクラス名やプロパティ名を使用するため、オブジェクトの抽象化を維持し、異なるデータベースシステム間の移植性を高めます。特定の SQL 機能が必要でない限り、デフォルトで JPQL を使用するのがよいでしょう。

2

カスタムの JPQL または SQL クエリを実行できるアノテーションはどれですか?

回答

@Query アノテーションを使うと、Spring Data JPA のリポジトリ内で直接カスタムクエリを定義できます。デフォルトでは JPQL を記述でき、nativeQuery 属性を true に設定するとネイティブ SQL も記述できます。このアノテーションは、メソッド名から導出される query method よりも柔軟性が高く、特に join やサブクエリを伴う複雑なクエリに適しています。

3

メソッドの引数を @Query にバインドするにはどうすればよいですか?

回答

@Param アノテーションを使うと、@Query クエリで使用するパラメータに明示的な名前を付けられます。この方法は、インデックス位置を使う場合よりも読みやすく堅牢で、特にコードのリファクタリング時に有効です。このアノテーションは JPQL の名前付きパラメータでは必須であり、保守性を高めるためにネイティブ SQL クエリでも推奨されます。

4

JPQL では、結果をフィルタリングできる句はどれですか?

5

JPQL とネイティブ SQL の主な違いは何ですか?

+27 面接問題

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

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

無料で始める