Written by
java-style
on
on
[JPA] 객체지향 쿼리 언어
[JPA] 객체지향 쿼리 언어
반응형
1. JPQL
가장 단순한 조회 방법 EntityManager.find() 객체 그래프 탐색 : a.getB().getC()
JPA를 사용하면 엔티티 객체를 중심으로 개발
검색 시 테이블이 아닌 엔티티 객체를 대상으로 검색해야 함
검색 조건이 포함된 SQL이 필요
JPA는 SQL 을 추상화 한 JPQL이라는 객체지향 쿼리 언어 제공
SQL과 문법이 유사하지만 SQL은 아님
JPQL은 엔티티 대상 SQL은 DB대상
em.createQuery(
“SELECT m FROM Member m WHERE m.USERNAME like ‘%EB%'"
, Member.class
).getResultList();
2. Creiteria
자바 코드로 JPQL 을 작성 가능
JPQL 빌더 역할
JPA 공식 기능
단점 : 너무 복잡하고 실용성이 없어 유지보수 어려움
QueryDSL 사용 권장
3. QueryDSL
문자가 아닌 자바코드로 JPQL 작성 가능
JPQL 빌더 역할
컴파일 시점에 문법 오류를 찾을 수 있음
단순하고 쉬움
실무 사용 권장
반응형
from http://vivi-world.tistory.com/143 by ccl(A) rewrite - 2021-09-26 17:27:10