ORM
ORM 기술은 객체(Object)와 DB테이블을 매핑하여 데이터를 객체화하는 기술입니다.
ORM은 SQL문의 수행 결과를 매핑하는 것이 아닌 DB 테이블의 데이터 그 자체와 객체를 매핑합니다.
또한 개발자가 직접 SQL을 작성하지 않아도 자동으로 SQL문을 만들어내기 때문에 DBMS에 종속 X
대표적으로 JPA가 존재합니다.
장점
- 개발자가 SQL문을 직접 작성하지 않아도 된다.
- SQL문이 아닌 클래스의 메서드를 통해 데이터베이스를 조작할 수 있다.
- DBMS에 종속적이지 않음으로써 도메인과 비즈니스 로직 설계에 더 집중할 수 있는 장점
- 요구사항 변화에 빠른 대처 가능한 장점
- 복잡한 통계성 쿼리보다는 실시간 처리용 쿼리에 적합
단점
- 직접 SQL을 작성하는 것보다 성능이 떨어질 수 있다.
- 사용하기 위해서는 ORM 기술을 학습해야 하는 러닝커브가 존재한다.
- 메서드 호출로 DB 데이터를 조작하기 때문에 세밀함이 떨어진다. (이를 위해 JPQL 등을 이용할 수 있다)
- N+1 문제가 발생할 수 있다
This post is licensed under CC BY 4.0 by the author.