JPA 시작하기

gustjtmd·2022년 5월 21일
0

Hello JPA - 프로젝트 생성, 애플리케이션 개발

'데이터 베이스 방언'

- JPA는 특정 데이터베이스에 종속 X
- 각각의 데이터베이스가 제공하는 SQL 문법과 함수는 조금씩 다름
	- 가변문자 : MySQL은 VARCHAR, Oracle은 VARCHAR2
- 방언 : SQL 표준을 지키지 않는 특정 데이터베이스만의 고유한 기능


JPA 구동 방식

주의

- 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에서 공유

- 엔티티 매니저는 쓰레드간에 공유X (사용하고 버려야 한다).

- JPA의 모든 데이터 변경은 트랜잭션 안에서 실행

JPQL

- JPA를 사용하면 엔티티 객체를 중심으로 개발
- 문제는 검색 쿼리
- 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색
- 애플리케이션이 필요한 데이터만 DB에서 불러오려면 결국 검색 조건이 포함된 SQL이 필요

- 가장 단순한 조회 방법
- JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어 제공
- SQL과 문법 유사, SELECT, FROM, WHERE, GROUP BY 등등 지원
- 'JPQL은 엔티티 객체를 대상'으로 쿼리
- 'SQL은 데이터베이스 테이블'을 대상으로 쿼리

JPQL은 테이블이 아닌 '객체를 대상으로 검색하는 객체 지향 쿼리'
SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않음
JPQL은 객체 지향 SQL
profile
반갑습니다

0개의 댓글