728x90
ORM ( Object Relational Mapping )
- 어플리케이션의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑해주는 것을 의미
ORM 의 장점
1. ORM을 사용하면서 데이터베이스 쿼리를 객체지향적으로 조작할 수 있다.
- 쿼리문을 작성하는 양이 줄어들어 개발 비용이 줄어든다
- 객체지향적으로 데이터베이스에 접근할 수 있어 코드의 가독성을 높인다.
2. 재사용 및 유지보수가 편리하다
- ORM 을 통해 매핑된 객체는 모두 독립적으로 작성되어 재사용이 용이하다
- 각 클래스로 나뉘어져 있어 유지보수에 편리하다.
3. 데이터베이스에 대한 종속성이 줄어든다
ORM 의 단점
1. ORM 만으로는 온전한 서비스를 구현하기에 한계가 있다.
- 복잡한 서비스는 직접 쿼리를 구성해야 한다.
- 설계없이 ORM만으로 구성하면 속도 저하 등 성능문제가 발생할 수 있다.
2. 애플리케이션의 객체 관점과 데이터베이스의 관계 관점의 불일치가 발생한다.
- 세분성 : 테이블수와 엔티티 개수가 다를 수 있다.
- 상속성 : RDBMS 에는 상속개념이 없다
- 식별성 : RDBMS 에는 기본키가 있는데, 자바는 두 객체가 같아도 다르다고 판단할 수 있다.
- 연관성 : 객체지향언어는 방향성이 존재하지만 RDBMS 에서는 방향성이 없다.
- 탐색 : 자바에서는 객체 참조 같은 연결수단을 활용하지만 RDBMS에서는 조인을 통해 여러 테이블을 연결 및 추출 한다
참고https://eun-jeong.tistory.com/31
728x90
'Spring > Spring-detail' 카테고리의 다른 글
Logback 설정 + 테스트 (1) | 2022.09.21 |
---|---|
테스트 코드의 개념에 대해 알아보자 (JUnit, TDD) (0) | 2022.09.15 |
Lombok 알고 사용하자! (0) | 2022.09.15 |
API를 작성하는 다양한 방법 (0) | 2022.09.15 |
디자인 패턴 간략히 알아보기 (0) | 2022.09.14 |
댓글