Post

JPA란

JPA란

Spring Data JPA

JPA(Java Persistence API)

SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 도와준다.

  • Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음
  • 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
  • 인터페이스 이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현함

JPA는 반복적인 CRUD SQL을 처리해준다. JPA는 매핑된 관계를 이용해서 SQL을 생성하고 실행한다. 추가적으로 JPA는 네이티브 SQL이란 기능을 제공해주는데 관계 매핑이 어렵거나 성능에 대한 이슈가 우려되는 경우 SQL을 직접 작성하여 사용할 수 있다.

JPA를 사용하여 얻을 수 있는 가장 큰 장점은 SQL아닌 객체 중심으로 개발할 수 있다는 것이다. 관계형 데이터베이스와 객체지향 애플리케이션의 패러다임 불일치 문제를 해결할 수 있다.

과 영속성 컨텍스트(엔티티를 영구 저정하는 환경) 제공한다.

Hibernate

하이버네이트는 자바 언어를 위한 ORM 프레임워크이다. JPA의 구현체로, JPA 인터페이스를 구현하며, 내부적으로 JDBC API를 사용한다.

This post is licensed under CC BY 4.0 by the author.