JPQL - named쿼리 (정적쿼리)
-미리 정의해서 이름을 부여해두고 사용하는 JPQL
-정적쿼리
-어노테이션 , xml에 정의
-애플리케이션 로딩 시점에 포기화 후 재사용
-애플리케이션 로딩 시점에 쿼리를 검증 //시작시 문법 오류 감지
ex)
@Entity
@namedQuery(
name = "Member.findByUsername", //이름을 지정해준다.
query = "select m from Member m where m.username = :username"
public class Member{
...}
)
쿼리는 미리 만들어주고 그 반환값을 @Entity로 받는다.
List<Member> resultList =
em.createNamedQuery("Member.findByUsername" , Member.class)
//Member.findByUsername 이름으로 정적쿼리를 불러온다.
.setParameter("username" , "회원1")
.getResultList();
named 쿼리환경에 따른설정
-xml이 항상 우선권을 가진다.
-애플리케이션 운영 환경에 따라 다른 XML을 배포할 수 있다.
'JPA' 카테고리의 다른 글
| 2월 21일 JPA API개발 기본 v1 (0) | 2023.02.21 |
|---|---|
| 2월 20일 JPA JPQL- 벌크연산 (0) | 2023.02.20 |
| 2월 17일 JPA JPQL 엔티티 직접 사용 (0) | 2023.02.17 |
| 2월 17일 JPA JPQL 다형성 쿼리 (0) | 2023.02.17 |
| 2월 16일 JPA JPQL 페치조인의 특징과 한계 (0) | 2023.02.16 |