HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🤩
개발
/
Spring Data
Spring Data
/
🧣
JPA(Java Persistence API)
/
⌚
JPA 개요
⌚

JPA 개요

Java Persistence APIJDBC DependencyJPA를 사용해야 하는 이유

Java Persistence API

notion image
  • JPA : Java Persistence Api
  • JPA는 자바 ORM 기술에 대한 API 표준 명세. 쉽게 이야기해서 인터페이스를 모아둔 것임. 따라서 jpa를 사용하려면 JPA를 구현한 ORM 프레임워크를 선택해야 하는데 Hibernate가 가장 대중적임
  • Data에 접근하기 위한 api 규격
  • According to the JPA specification, all entity classes are required to have a public or protected no-argument constructor.
notion image
notion image
notion image
  • JPA는 인터페이스
    • JPA 구현체로써 많은 것들이 있지만 그 중 Hibernate의 사용비율이 압도적으로 높음
    • 그중에 자주 쓰이는 기능들을 Spring에서 사용하기 쉽도록 Spring framework에서 묶음으로 제공하는 것이 Spring Data JPA

JDBC Dependency

  • JPA-based application도 JDBC를 아래에서 사용하고 있음. database interaction을 위해 JDBC API사용함
  • JPA가 추상화 레이어의 역할을 함으로써, 저수준의 JDBC call을 가려줌
 
 

JPA를 사용해야 하는 이유

  • 생산성 증진
    • SQL에 의존적인 개발에서 탈피하여, 객체중심으로 생산적인 개발이 가능하다.
  • 객체와 관계형테이블의 패러다임 불일치를 해결해줌
    • 객체지향 프로그래밍은 추상화, 캡슐화, 상속, 다형성 등을 제공한다.
    • 관계형 데이터베이스 데이터 중심으로 구조화 되어있으며, OOP의 특징을 지원하지 않는다.
    • jpa를 사용하게되면 이와같은 OOP의 특징을 활용할 수 있음
    • 객체 측면에서는 정교한 객체 모델링을 할 수 있고 관계형 데이터베이스는 데이터베이스에 맞도록 모델링하면 됨. 둘을 어떻게 매핑해야 하는지 매핑 방법만 ORM 프레임워크에게 알려주면 알아서 해줌!