dev/JPA 기본
JPQL - 기본문법과 쿼리 API
dev_0hoon
2024. 2. 8. 18:53
JPQL 소개
- JPQL은 객체지향 쿼리 언어다. 따라서 테이블을 대상으로 쿼리 하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다.
- JPQL은 SQL을 추상화해서 특정 데이터 베이스 SQL에 의존하지 않는다.
- JPQL은 결국 SQL로 변환된다.


JPQL 문법
- select m from Member as m where m.age > 18
- 엔티티와 속성은 대소문자 구분O (Member, age)
- JPQL 키워드는 대소문자 구분X (SELECT, FROM, where)
- 엔티티 이름 사용, 테이블 이름이 아님(Member)
- 별칭은 필수(m) (as는 생략 가능)




Member singleResult = em.createQuery("select m from Member m where m.username = :username", Member.class)
.setParameter("useranme", "member1")
.getSingleResult();
System.out.println("singleResult = " + singleResult.getUsername());
이런 식으로 사용 된다.
위의 이미지의 아래(위치기반)은 잘 사용하지 않는다. 왠만하면 이름 기준으로 쓰는 것이 좋음