JPA란?

JPA(Java Persistence API)자바에서 관계형 데이터베이스(RDBMS)를 객체처럼 다룰 수 있도록 해주는 ORM(Object-Relational Mapping) 기술입니다.

한마디로?

SQL을 직접 작성하지 않고, 객체를 데이터베이스에 쉽게 저장하고 조회할 수 있도록 도와주는 기술!

JPA는 인터페이스이며, 직접 사용하기보다는 Hibernate 같은 구현체를 사용합니다.

JPA는 SQL 대신 객체 중심으로 데이터베이스를 조작할 수 있도록 도와줍니다!

JPA는 javax.persistence 패키지에 속하는 표준 ORM 기술입니다.

Spring Boot에서는 Hibernate가 JPA의 기본 구현체로 사용됩니다.

✅ JPA의 장점

  1. SQL 없이 객체 중심으로 데이터베이스를 조작 가능
  2. 자동으로 SQL을 생성하여 유지보수 비용 감소
  3. 트랜잭션 관리가 쉬움 (@Transactional 지원)
  4. DB 변경 시 엔티티만 수정하면 됨 (유지보수 용이)
  5. Dirty Checking을 활용한 자동 업데이트 기능 제공

❌ JPA의 단점

  1. 초기 학습 비용이 큼
  2. 자동 생성된 SQL이 복잡한 경우 최적화 필요
  3. JPA를 제대로 이해하지 않으면 성능 저하 가능 (N+1 문제 등)

핵심 개념