기존의 반복 코드
그 중 SQL 문 ( select 문 , insert 문 , etc..) 등을
JPA 가 직접 만들어서 실행해주는 API
JPA 를 사용하면, DB 중심 설계 & 개발 에서
Java 코드 중심 설계 & 개발 으로 전환이 가능하다.
( = 개발 생산성을 크게 높일 수 있다. )
테이블이 아닌 Entitiy 객체를 대상으로 검색하는 객체지향 쿼리
SQL 을 추상화 해서 특정 DB SQL문을 의존하지 않는다
JPA는 JPQL을 분석 후 적절한 SQL문을 만들어 DB 를 조회한다.
return em.createQuery("select m from Member m", Member.class).getResultList(); 이 한줄로 select 문을 반복하지 않고도 DATA TABLE 을 반복해서 모두 select 한다.
실제 JPA 쿼리문
select member_0.id as id1_0_, member_0.name as name2_0_ from member member0_
JPQL 이 상단의 쿼리문을 사용해서
어떠한 SQL문이더라도 JPQL 이 해석하고 변환하여 DB를 조회하는 방식을 구현할 수 있다.