Free Lines Arrow
본문 바로가기
DataBase/JPA

[JPA] JPQL Named 쿼리

by skahn1215 2021. 9. 28.
728x90
반응형

Named 쿼리

  • 엔티티에 어노테이션으로 쿼리를 등록하여 단축어로 쓸수 있다.
  • 미리 정의 한 후 이름을 부여해두고 사용한다.
  • 정적쿼리이다.
  • 어노테이션, XML 에 정의 할수 있다.
    - XML 이 우선순위가 더 높다.

 

장점

  • 어플리케이션 로딩 시점에 초기화 후 재사용
    - 로딩시 파싱하여 캐싱하고 있다.
  • 애플리케이션 로딩 시점에 쿼리를 검증
    - 실행하는 시점에 쿼리에 에러가 있으면 에러를 발생시킨다.

 

 

예제

member class

@Entity
@NamedQuery(
        name = "Member.findByUsername",
        query = "select m from Member m where m.username = :username_
public class Member {
    ...
}

 

사용부분

List<Member> resultList = 
    em.createNamedQuery("Member.findByUsername", Member.class)
            .setParameter("username", "회원1")
            .getResultList();

 

728x90
반응형

'DataBase > JPA' 카테고리의 다른 글

[JPA] AttributeConverter  (0) 2022.04.02
[JPA] JPA의 설정 옵션들  (0) 2022.01.26
[JPA] JPQL 엔티티 직접 사용  (0) 2021.09.28
[JPA] JPQL Fetch Join  (0) 2021.09.26
[JPA] JPQL 경로표현식  (0) 2021.09.26

댓글