JPA 시작하기

박준수·2023년 3월 3일
0

[JPA]

목록 보기
2/14

JPA의 구동방식

  • 엔티티 매니저 팩토리는 하나만 생성해서 애플리케이션 전체에서 공유
  • 엔티티 매니저는 쓰레드간에 공유X (사용하고 버려야 한다).
  • JPA의 모든 데이터 변경은 트랜잭션 안에서 실행

JPQL을 이용해 Member 전체를 조회하는 코드

JPQL

JPA를 사용하면 엔티티 객체를 중심으로 개발을 한다. 문제는 검색 쿼리인데 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색을 한다. 그러나 모든 DB 데이터를 객체로 변환해서 검색하는 것은 불가능하기에 애플리케이션이 필요한 데이터만 DB에서 불러오려면 결국 검색 조건이 포함된 SQL이 필요하다.

  • JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어 제공
    • SQL을 추상화해서 특정 데이터베이스 SQL에 의존X
  • SQL과 문법 유사, SELECT, FROM, WHERE, GROUP BY, HABING, JOIN 지원
  • JPQL은 엔티티 객체를 대상으로 쿼리, SQL은 데이터베이스 테이블을 대상으로 쿼리
profile
방구석개발자

0개의 댓글