Spring ORM, JPA

이진석·2022년 10월 16일
1

JPA란? (Java Persistent API)

JPA란 자바 ORM 기술에 대한 API 표준 명세를 의미

JPA는 ORM를 사용하기 위한 인터페이스를 모아둔 것으로 주로 Hibernate, EclipseLink, DataNucleus 같은 ORM 프레임 워크를 사용해 구현합니다.

JPA를 사용하는 이유

  • JPA는 반복적으로 사용되는 CRUD를 처리해준다. JPA가 SQL을 맵핑되어 있는 관계를 통해 생성해주기 때문에 개발자는 어떤 SQL이 실행 될지만 생각하면 된다.
    추가적으로 JPA는 네이티브 SQL 기능도 제공해주기 때문에 관계 매핑이 어렵거나 성능 이슈가 우려되는 경우 직접 SQL을 작성하여 사용 할 수 있게 해준다.

  • SQL이 아닌 객체 중심으로 개발이 가능해진다. 이에 따라 생산성이 향상되고 유지보수도 수월해진다. 또한 패러다임의 불일치도 해결해주었다. (객체 상속 관계 등)

그렇다면 ORM이란? (Object Relational Mapping)

ORM이란 객체와 DB의 테이블이 맵핑을 이루는 것을 말함.

즉, 객체가 테이블로 표현될 수 있도록 해주는 것으로 ORM을 이용하면 SQL 쿼리가 아닌 코드(메소드)로 데이터를 조작 할 수 있다. 쿼리를 직접 작성하지 않고 메소드 호출만으로 쿼리가 수행되어 생산성이 매우 높아지지만 쿼리가 복잡해질수록 ORM으로 표현하는데 한계가 있고 성능이 순수한 쿼리에 비해 느리다는 단점이 있다.

profile
고양이 두마리의 집사이자 행복 코딩을 추구하는 주니어 개발자입니다!

1개의 댓글

comment-user-thumbnail
2022년 10월 16일

정말 정말 유익한 정보네요! 🥸

답글 달기