Spring Boot - JPA

UnKnown12·2022년 11월 22일
0

📌 JPA

Java Persistence API

  • JPA 는 자바영역에서 ORM( Object-Relational Mapping) 표준 기술으로
    사용되는 인터페이스 모음이다.
    즉, 실제적으로 구현된 것이 아니라,
    구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다.
  • 기존의 반복 코드
    그 중 SQL 문 ( select 문 , insert 문 , etc..) 등을
    JPA 가 직접 만들어서 실행해주는 API

  • JPA 를 사용하면, DB 중심 설계 & 개발 에서
    Java 코드 중심 설계 & 개발 으로 전환이 가능하다.
    ( = 개발 생산성을 크게 높일 수 있다. )

📌 JPQL

Java Presistence Query Language

  • 테이블이 아닌 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를 조회하는 방식을 구현할 수 있다.

profile
Hyobin12

0개의 댓글