Spring Data
ORM이란 무엇인가요?
백엔드 유성
2023. 9. 2. 17:27
ORM은 Object Relational Mapping의 약자로, 객체 지향 프로그래밍과 관계형 데이터베이스 관리 시스템(RDBMS) 사이의 데이터를 매핑하는 프로그래밍 기술입니다.
즉, ORM은 데이터베이스의 테이블과 프로그래밍 언어의 클래스 간의 매핑을 담당하며, 이를 통해 개발자가 SQL 쿼리 없이도 데이터베이스 작업을 쉽게 수행할 수 있게 해줍니다.
ORM의 주요 기능은 다음과 같습니다.
- 객체 생성과 테이블 레코드의 생성을 연결
- 객체 필드와 테이블 컬럼 사이의 매핑
- 객체 연산과 SQL 쿼리의 자동 변환
ORM의 장담점은 다음과 같습니다.
장점
- 개발 속도 향상 : SQL 쿼리를 직접 작성하지 않아도 되므로 개발 과정이 빨라집니다.
- 코드의 가독성과 유지보수 : 데이터베이스 관련 코드가 객체 지향적으로 작성되므로, 코드의 가독성이 높아지고 유지보수가 쉽습니다.
- 데이터베이스 독립성 : ORM 프레임워크를 사용하면, 특정 데이터베이스에 종속적인 코드를 작성할 필요가 없어, 다양한 데이터베이스 시스템에 쉽게 대응할 수 있습니다.
단점
- 성능 이슈 : ORM은 자동으로 SQL 쿼리를 생성하므로, 때로는 최적화되지 않은 쿼리가 생성될 수 있습니다.
- 복잡한 쿼리 제한 : 매우 복잡한 SQL 쿼리나 특정 데이터베이스에 최적화된 쿼리를 사용하기 어렵습니다.
- 복잡한 쿼리의 경우 Native SQL, JPQL, QueryDSL 등을 사용하여 해결해야 합니다.
Java에서 가장 많이 사용하는 ORM 프레임워크는 Hibernate가 있습니다.
감사합니다.