Spring Boot - @Query

김명식·2023년 5월 16일
1

Spring Boot

목록 보기
5/11
post-thumbnail

@Query

Spring Data JPA 가 제공하는 어노테이션으로 JPQL 쿼리를 정의하는데 사용한다.

  • JPQL ( Java Persistance Query Language )
    관계형 Database에 저장된 Entity에 대해 쿼리를 만드는 객체 지향 쿼리 언어이다.
    JPQL은 SQL의 문법을 기반으로 하지만 Entity와 속성사용하여 쿼리를 작성한다.
    즉,
    SQL = Table 매칭
    JPQL = Entity 매칭
    이라는 뜻이다.
@Query("Select u FROM User u  WHERE u.name = :name")
List<User> findUserByName(@Param("name") String name);

위 코드처럼 @Query 어노테이션의 Value부분에 JQPL 쿼리가 지정되며,
@Param 어노테이션을 사용하여 쿼리에서 사용할 파라미터를 지정할 수 있다.


@Query 어노테이션은 직접 JPQL을 작성하기 때문에
Query Method와 달리 복잡한 쿼리를 정의할 때 사용하는것을 추천한다.

profile
BackEnd & AWS Developer

0개의 댓글