JPQL
기본코드 : http://nanstrong.tistory.com/300
기본코드에 보면 회원 목록을 조회하는 코드가 있다.
List<Member> members = em.createQuery("select m from Member m", Member.class).getResultList();
JPA를 사용할 때 기본적인 SQL은 JPA가 처리해주기 SQL을 사용할 일이 없다. 하지만 이것은 테이블을 대상으로 할 때 가능한 일이다. 만약 테이블에서 특정 데이터만 가져올 경우 엔티티 객체로만 처리하게 되면 모든 데이터를 가져와서 검색해야 하는데 이것은 너무 비효율적이다.
어플리케이션에서 필요한 데이터만 가지고 올 경우는 조건이 포함된 SQL을 사용해야 한다.
이것을 해결하기 위해서 JPQL(Java Persistence Query Language)이라는 쿼리 언어를 지원한다. JPQL은 SQL을 추상화한 객체지향 쿼리 언어이다.
JPQL은 SQL과 다르지만 큰 차이가 있다.
JPQL은 엔티티 객체를 대상으로 쿼리를 하는 것이고. SQL은 데이터베이스 테이블을 대상으로 쿼리를 한다. JPQL은 SQL과 달리 대소문자를 명확하게 구분하기 때문에 유의해서 사용해야 한다.
'Programming > 과거포스팅' 카테고리의 다른 글
[JPA] - 영속성 컨텍스트(persistence context) 와 엔티티의 생명주기 (0) | 2016.12.16 |
---|---|
[JPA] 엔티티 매니저 팩토리와 엔티티 매니저(EntityManagerFactory and EntityManager) (0) | 2016.12.16 |
[JPA] - JPA의 시작[기본코드] (0) | 2016.12.14 |
[JPA] JPA란? (0) | 2016.12.12 |
[Jhipster] IntelliJ연동하기 -jhipster 설치 (0) | 2016.12.08 |