[JPA] JPA란?

이지현·2023년 9월 18일
0

JPA

목록 보기
1/2
post-thumbnail
번호목차
1.데이터베이스 방언
2.JPA 구동 방식
3.JPQL

1. 데이터베이스 방언

  • 각각의 데이터베이스가 제공하는 SQL 문법과 함수는 조금씩 다름
    • 가변 문자 : MySQL은 VARCHAR, Oracle은 VARCHAR2
    • 문자열을 자르는 함수 : SQL 표준은 SUBSTRING(), Oracle은 SUBSTR()
    • 페이징 : MySQL은 LIMIT, Oracle은 ROWNUM
  • 이처럼 방언은 SQL 표준을 지키지 않는 특정 데이터베이스만의 고유한 기능을 말함
  • JPA는 특정 데이터베이스에 종속 X
  • hibernate.dialiect 속성에 지정
    • H2 : org.hibernate.dialect.H2Dialect
    • Oracle 10g : org.hibernate.dialect.Oracle10gDialect
    • MySQL : org.hibernate.dialect.MySQL5InnoDBDialect

2. JPA 구동 방식

  • META-INF/persistence.xml을 통해 설정 정보 조회 -> Persistence 생성 -> EntityManagerFactory 생성

    (1) EntityManagerFactory는 하나만 생성해서 애플리케이션 전체에서 공유
    (2) EntityManager는 쓰레드 간에 공유 X(사용하고 버려야 함)
    (3) JPA의 모든 데이터 변경은 트랜잭션 안에서 실행

3. JPQL

  • JPA를 사용하면 엔티티 객체를 중심으로 개발함
  • 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능
  • 이 때 JPQL을 사용하면 엔티티 객체를 대상으로 검색하는 객체 지향 쿼리를 수행함
profile
2022.08 ~ 2023.09 / 현재 티스토리 이전 : https://jihyun-devstory.tistory.com/

0개의 댓글