본문 바로가기

Spring Data JPA

3월 21일 Spring Data JPA 쿼리 메소드2 NamedQuery

NamedQuery 거의 쓸일 없음.

 

1.엔티티에 named Query 정의

@NamedQuery(

 name = "member.findByUsername"

 query = "select m from Member m where m.username = :username"

)

 

2.DataJPA를 상속만 Repository에 작성

@Query(name = "Member.findByUsername") // namedQuery 의 name 으로 식별한다.

List<Member> findByUsername(@Param("username") String username);

@Query에 파라미터가 필요한 경우 @Param을 사용한다.

 

실행하면 해당 named Query가 실행된다.

메소드명이 NamedQuery와 같다면 @Query를 생략할 수 있다.

 

namedQuery의 장점

컴파일 시점에 오타를 발견해서 오류를 반환해준다.