特定のフィールドをクエリするJPAの方法は何ですか?
JPAでは、以下の手法にて指定フィールドの検索が行えます
- SELECT 句を使用して検索するフィールドを指定します。
@Query("SELECT u.name FROM User u")
List<String> findUserNames();
- Spring Data JPA のクエリメソッドを使用: キーワードをメソッド名に使用して、照会する必要があるフィールドを指定できます。例:
List<UserNameProjection> findAllBy();
- ネイティブSQLでクエリする:ネイティブSQLクエリは、@Queryアノテーションを使用し、nativeQueryをtrueに設定することで実行できます。例:
@Query(value = "SELECT name FROM user", nativeQuery = true)
List<String> findUserNames();
なお、これらのメソッドは指定されたフィールドを検索し、結果を特定の戻り型(Listや独自に投影されたインターフェースなど)のカプセル化された形式で返します。