마스크는 답답하다
Published 2023. 7. 11. 16:54
ORM (Object Relational Mapping) Java/Java

ORM (Object Relational Mapping)이란?

 

ORM이란 객체-관계-매핑의 약자로

객체와 관계형 데이터베이스를 매핑해주는 도구이다.

 

쉽게 설명하자면

객체 지향프 프로그래밍은 클래스를 사용한다.

관계형 데이터베이스는 테이블을 사용하여 데이터를 저장한다.

 

즉 클래스와 테이블이라는 모델의 불일치가 존재하는데

이를 자동으로 연결(Mapping)시켜주는 도구이다.

 

ORM의 종류에는 JPA, Hibernate, Mybatis등이 있다.

2023.05.01 - [Java/JPA] - JPA / Hibernate / Spring Data JPA

 

ORM을 사용하는 이유

 

ORM을 사용하는 이유는 다음과 같다.

  • 데이터베이스 접근을 프로그래밍 언어로 진행할 수 있다.
  • 객체간의 바탕으로 SQL을 자동으로 생성한다.
  • SQL 문을 작성하지 않고, 엔티티를 객체로 표현할 수 있다.
  • 객체를 통해 간접적으로 데이터베이스를 다룰 수 있다.

ORM의 장단점

 

ORM의 장점

  • 직관적인 코드(가독성 증가)와 비지니스 로직에 집중 가능(생산성 증가)
    - ORM을 사용하면 SQL Query가 아닌 메서드로 데이터를 조작할 수 있다.
    - 각종 객체에 대한 코드를 별도로 작성하기 때문에 코드 가독성을 높여준다.
    - SQL의 절차적이고 순차적인 접근이 아닌 객체 지향적인 접근으로 인해 생산성이 증가한다.

  • 재사용 및 유지보수성 증가
    - 각 ORM은 독립적으로 작성되어 있으며, 해당 객체를 재활용 할 수 있다.|
    - 모델에서 가공된 데이터를 컨트롤러에 의해 뷰와 합쳐지는 형태로 디자인 패턴을 견고하게 다질 수 있다.
    - 매핑정보가 명확하여, ERD에 대한 의존도를 낮출 수 있다.
  • DBMS에 대한 종속성 감소
    - 객체 간의 관계를 바탕으로 SQL문을 자동 생성하기 떄문에 관계형 데이터베이스의 데이터 구조와
      JaVA의 객체지향 모델 사이의 간격을 좁힐 수 있다.
    - 대부분의 ORM 솔루션은 데이터베이스에 종속적이지 않다.
    - 개발자는 Object에 집중함으로서 DBMS를 다루는 큰 작업에도 비교적 적은 리스크와 시간을 소요할 수 있다.

 

ORM의 단점

  • ORM으로만 서비스를 구현하기 어렵다.
    - 사용하기에 편하지만 설계를 매우 신중하게 해야한다.
    - 잘못 구현된 경우에는 일관성이 무너지는 문제점이 발생할 수 있다.
    - 프로젝트나 객체간의 복잡성이 커질경우 난이도 또한 상승한다.

'Java > Java' 카테고리의 다른 글

오버라이딩 / 오버로딩  (0) 2023.05.03
직렬화 / 역직렬화  (0) 2023.05.02
Java에서의 Thread  (0) 2023.03.31
Static Import  (0) 2023.03.04
인터페이스 (Interface)  (0) 2023.03.04

검색 태그