⬛️ JPA (Java Persistence API) 란?

이준영·2023년 9월 13일
0

⬛️ JPA

목록 보기
1/3
post-thumbnail
참고

개인적으로 영한님 강의를 본 후 정리하며 복습하기 위한 글 입니다.


JPA란?

JPAJPA란 Java Persistence API의 약자로 자바의 ORM 기술 표준을 의미합니다.

TMI 정보

JPA 이전에도 EJB 에 Entity Bean 이라는 ORM 기술이 존재 했었다고 합니다. 그러나 EJB는 사용하기에 기술이 너무 어렵고, 성능도 그닥 좋지 않아 많은 개발자들이 잘 사용하지 않았었다고 합니다.


ORM 이란?

ORM 이란 Object-relational mapping(객체 관계 매핑) 으로 객체와 관계형 DB 사이의 패러다임의 불일치를 매핑해주는 도구 입니다.
쉽게 말해 SQL을 사용하여 관리할 수 있는 관계형 DB를 마치 객체를 다루듯이 추가했다 제거했다 할 수 있도록 도와주는 도구 입니다.


JPA의 장점

JPA의 장점은 매우 다양하지만 그중 가장 중요하다고 생각하는 것은
SQL 중심의 개발에서 객체 중심적인 개발이 가능해진 것과, 생산성, 유지보수 등이 있습니다. 또한, JPA는 성능 최적화를 위해 1차 캐시, 쓰기지연, 지연 로딩 등의 기능을 제공합니다.

생산성

기존 객체를 조회하려면 SQL을 직접 작성해서 db를 관리하던 이전과는 다르게 개발자는 JPA 에게 "객체 조회해줘" 이러한 하나의 문장으로 동일한 작업을 처리할 수 있습니다.

유지보수

기존 객체의 필드 변수가 요구사항의 변경으로 인해 하나 추가되어야 한다면 관련 모든 SQL의 수정이 불가피할 것입니다. 그러나 JPA는 객체 중심으로 이루어지기 때문에 객체의 필드 변수만 수정함으로써 유지보수가 더욱 쉬워집니다.

성능

이렇게 모든 기능을 자동으로 변환해 준다면 조회같은 기능을 수행할 때 무차별적으로 Join 해서 조회를 수행해 성능적인 이슈가 있지는 않을까 하는 생각이 들지만 이조차 내부에서 유연하게 처리해 준다고 합니다.

profile
작은 걸음이라도 꾸준히

0개의 댓글