반응형
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 |
댓글