JPA クエリ
JPA クエリ:メソッド名による導出、JPQL を用いた @Query、ネイティブクエリ、ページネーション、ソート
30 面接問題·
Mid-Level
1JPQL とは何ですか?
1
JPQL とは何ですか?
回答
JPQL(Java Persistence Query Language)は、データベースのテーブルではなく JPA エンティティを問い合わせるオブジェクト指向の言語です。ネイティブ SQL とは異なり、JPQL はクラス名やプロパティ名を使用するため、オブジェクトの抽象化を維持し、異なるデータベースシステム間の移植性を高めます。特定の SQL 機能が必要でない限り、デフォルトで JPQL を使用するのがよいでしょう。
2カスタムの JPQL または SQL クエリを実行できるアノテーションはどれですか?
2
カスタムの JPQL または SQL クエリを実行できるアノテーションはどれですか?
回答
@Query アノテーションを使うと、Spring Data JPA のリポジトリ内で直接カスタムクエリを定義できます。デフォルトでは JPQL を記述でき、nativeQuery 属性を true に設定するとネイティブ SQL も記述できます。このアノテーションは、メソッド名から導出される query method よりも柔軟性が高く、特に join やサブクエリを伴う複雑なクエリに適しています。
3メソッドの引数を @Query にバインドするにはどうすればよいですか?
3
メソッドの引数を @Query にバインドするにはどうすればよいですか?
回答
@Param アノテーションを使うと、@Query クエリで使用するパラメータに明示的な名前を付けられます。この方法は、インデックス位置を使う場合よりも読みやすく堅牢で、特にコードのリファクタリング時に有効です。このアノテーションは JPQL の名前付きパラメータでは必須であり、保守性を高めるためにネイティブ SQL クエリでも推奨されます。
4
JPQL では、結果をフィルタリングできる句はどれですか?
5
JPQL とネイティブ SQL の主な違いは何ですか?
+27 面接問題
その他のSpring Boot面接トピック
Spring Core - IoC & DI
Junior
22問Spring Boot Auto-Configuration
Junior
20問Spring Boot Starters
Junior
18問Application Properties & YAML
Junior
16問SLF4J と Logback によるロギング
Junior
20問Spring Boot DevTools
Junior
15問Spring MVC Basics
Mid-Level
20問Spring REST Controllers
Mid-Level
20問Request & Response Handling
Mid-Level
20問例外処理
Mid-Level
25問Bean Validation
Mid-Level
25問Spring Data JPA の基礎
Mid-Level
25問JPA エンティティとリレーションシップ
Mid-Level
30問Spring Data Repositories
Mid-Level
25問Spring Security の基礎
Mid-Level
25問Spring Boot Actuator
Mid-Level
20問JUnit と Mockito による単体テスト
Mid-Level
30問Spring Boot のテスト
Mid-Level
30問Profiles と Environment
Mid-Level
20問RestTemplate と WebClient
Mid-Level
24問Async とスケジューリング
Mid-Level
25問Springでのキャッシング
Mid-Level
25問Spring WebFlux (リアクティブ)
Mid-Level
25問Spring トランザクション
Senior
30問高度な認証と認可
Senior
30問JWT とステートレスセキュリティ
Senior
20問OAuth2 と Authorization Server
Senior
20問Spring Boot と Docker
Senior
19問Spring によるマイクロサービス
Senior
25問Spring Cloud Config
Senior
19問パフォーマンス最適化
Senior
30問GraalVM Native Images
Senior
20問