← 질문 목록
#257깊이 0
ORM을 사용하는 이유는 무엇인가?
객체지향적 설계와 관계형 데이터베이스 간의 패러다임 불일치를 해결하기 때문이다. ORM은 반복적인 CRUD SQL을 줄여 객체 쪽 로직에 집중하게 한다.
| 기준 | SQL 매퍼 | ORM |
|---|---|---|
| 중심 관점 | 테이블/SQL | 객체/엔티티 |
| 생산성 | 쿼리 직접 작성 | 메서드 호출로 처리 |
| 유지보수 | SQL과 매핑을 손봐야 한다 | 엔티티를 고치고 DB 마이그레이션도 따로 해야 한다 |
ORM은 데이터베이스의 행을 객체로 매핑하여 자바 객체로서의 상속이나 참조로 데이터를 처리한다.
하지만 ORM은 학습 곡선이 높고, 복잡한 쿼리 작성 시 성능 최적화가 어려울 수 있다. 특히 N+1 문제는 자주 나오며, N+1은 페치 조인이나 @EntityGraph로 필요한 연관을 한 번에 읽어 줄인다.
추천 꼬리질문
관련 질문
- JPA에서 N+1 쿼리는 왜 생기고 무엇으로 막는가?프레임워크JPA는 대표적인 ORM 프레임워크이며, N+1 문제는 ORM 사용 시 발생하는 대표적인 성능 이슈이다.
- 같은 엔티티를 두 번 조회하면 왜 같은 객체인가?프레임워크둘 다 JPA의 영속성 컨텍스트와 1차 캐시를 통한 객체 동일성 보장 개념을 다룬다.
- 커넥션 풀을 사용하는 이유는 무엇인가?데이터베이스ORM은 데이터베이스 연결 효율을 높이기 위해 내부적으로 커넥션 풀을 활용하여 쿼리를 실행한다.
- 데이터베이스 정규화를 수행하는 이유는 무엇인가?데이터베이스
- 가상 메모리를 사용하는 이유는 무엇인가?운영체제