[JPA] 01. JPA 기초

joheera·2023년 7월 3일
0

JPA

목록 보기
1/9

JPA(Java Persistence API)

자바 진영의 ORM 기술 표준

JPA는 인터페이스의 모음이며, 하이버네이트는 JPA의 구현체 중 하나이다.

JPA의 장점

  1. SQL 중심적인 개발에서 객체 중심으로 개발
  2. 생산성
  3. 유지보수
  4. 패러다임의 불일치 해결
  5. 성능

ORM(Object-relational mapping)

객체와 관계형 데이터베이스를 각각 설계한 후 ORM 프레임워크가 중간에서 매핑해주는 역할을 한다.

데이터베이스 방언

각각의 데이터베이스가 제공하는 SQL 문법과 함수는 조금씩 다른데,이 때 SQL 표준을 지키지 않는 특정 데이터베이스만의 고유한 기능을 데이터베이스 방언이라고 한다. JPA는 특정 데이터베이스에 종속되지 않으며, 지정한 데이터베이스에 맞게 SQL문을 생성한다.

JPA 기본 셋팅

  1. pom.xml에 JPA 하이버네이트 라이브러리 추가
  2. /META-INF/persistence.xml 생성 -> JPA 설정 파일

JPA 구동 방식

  • EntityManagerFactory는 하나만 생성하여 애플리케이션 전체에서 공유
  • EntityManager는 쓰레드 간에 공유X (사용하고 버린다.)
  • JPA의 모든 데이터 변경은 트랜잭션 안에서 실행

JPQL

필요한 데이터만 DB에서 불러오기 위해서는 결국 검색 조건이 포함된 SQL이 필요하다. JPA는 SQL을 추상화한 JPQL이라는 객체지향 쿼리 언어를 제공한다.

  • JPQL은 엔티티 객체를 대상으로 쿼리
  • SQL은 데이터베이스 테이블을 대상으로 쿼리

0개의 댓글