본문 바로가기
개발 관련 공부/TIL

JPA 개요

by 슴새 2022. 11. 2.
반응형

ORM

jpa를 알기 위해선 먼저 orm을 알아야 한다.

ORM = Object Relational Mapping 의 줄임말.

말 그대로 자바와 테이블을 자동으로 매핑해주는 기술이 ORM이다.

ORM을 이용하면 쿼리문 작성이 아닌 코드(메서드)로 데이터를 조작할 수 있다.

 

ORM의 장점

  • 쿼리문 작성이 줄어 개발비용 줄어듦
  • 객체지향적으로 db에 접근할 수 있어 가독성 좋아짐
  • ORM을 통해 매핑된 객체는 모두 독립적으로 작성되어 있어 재사용이 용이함
  • 데이터베이스에 대한 종속성이 줄어들어 비교적 적은 리스크를 부담

 

ORM의 단점

  • 복잡한 서비스를 쿼리 없이 구현하기 어려움
  • 복잡한 쿼리를 정확한 설계 없이 ORM만으로 구성하게 되면 속도 저하 등 성능 문제가 발생할 수 있다.

JPA

JPA= Java Persistence API

JPA는 자바 진영의 ORM 표준으로 채택된 인터페이스의 모음이다.

그러니까 ORM이 더 큰 개념이다. 구체화된 ORM이 jpa라고 보면 될 것 같다.

 

JPA 기반의 구현체는 여러가지가 있는데, 그 중에 가장 대표적인 것이 Hibernate이다.

 

요즘 mybatis를 배우면서 jpa와의 차이점이 무엇인지 궁금해 구글링을 몇 번 해봤는데,

연관 검색어로 mybatis와 jpa를 같이 쓴다는 이야기가 많이 떴다.

위 ORM의 단점 때문에, 복잡한 쿼리문을 써야하면 mybatis로, 일반적인 CRUD는 jpa를 쓴다는 소리인 것 같다.

 

...순수 JDBC랑 mybatis 뼈빠지게 배웠는데 더 좋은게 있었다니...

 

 

참고: 스프링 부트 핵심 가이드

 

 

 

 

 

반응형

'개발 관련 공부 > TIL' 카테고리의 다른 글

git-flow 전략, Jira 활용하기  (0) 2023.01.12
의존성 주입이란?  (0) 2022.09.26
카카오 맵 api 예제들  (0) 2022.09.19
부트스트랩 개요  (0) 2022.09.19
코루틴 이해하기  (0) 2022.09.19

댓글