반응형
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 빌더 역할
- 컴파일 시점에 문법 오류를 찾을 수 있음
- 단순하고 쉬움
- 실무 사용 권장
반응형
'Develope > DataBase' 카테고리의 다른 글
[JPA] 엔티티 매핑 (0) | 2021.08.17 |
---|---|
[JPA] 영속성 컨텍스트 (0) | 2021.08.12 |
[JPA] Spring + MariaDB + JPA 환경셋팅 (0) | 2021.06.23 |
[JPA] 1-3. ORM 이란? JPA 소개 (0) | 2021.05.30 |
[JPA] SQL을 직접 다룰 때 발생하는 문제점 (0) | 2021.05.29 |