JAVA ORM 이란?

Ada·2022년 10월 14일
0

항해TOL

목록 보기
35/63

ORM = Object Relational Mapping
객체-관계 매핑

  • 객체와 관계간의 불일치를 해결하기 위해 만들어진 개념

  • 객체와 DB의 테이블이 매핑을 이루는 것

  • 객체가 테이블이 되도록 매핑 시켜주는 것

  • ORM 을 통해 SQL Query가 아닌 직관적인 코드(메서드)로서 데이터 조작 가능

  • JPA가 바로 자바 ORM 표준 API 명세이다.

ORM의 장점

  1. 객체 지향적인 코드로 인해 더 직관적이고 비즈니스 로직에 집중할 수 있도록 도와준다.

    • 선언문, 할당, 종료 등의 부수적인 코드가 없거나 줄어든다.

    • 각종 객체에 대한 코드를 별도로 작성하기 때문에 코드의 가독성을 올려준다.

    • SQL의 절차적인 접근이 아닌 객체 지향적인 접근으로 인해 생산성이 증가한다.

  2. 재사용 및 유지보수의 편리성이 증가한다.

    • ORM은 독립적으로 작성되어있고 해당 객체들을 재활용 할 수 있다.

    • 모델에서 가공된 데이터를 컨트롤러에 의해 뷰와 합쳐지는 형태로 디자인 패턴을 견고히 다지는데 유리하다.

    • 매핑 정보가 명확하다.

  3. DBMS에 대한 종속성이 줄어든다.

    • 프로그래머가 Object에 집중할 수 있게 되고 자바의 기능을 통해 간결하고 빠른 가공이 가능하다.

ORM의 단점

  1. 완벽한 ORM으로만 서비스를 구현하기가 어렵다.

    • 사용하기는 편하지만 설계는 매우 신중해야한다.
    • 프로젝트의 복잡성이 커질 경우 난이도 또한 올라갈 수 있다.
    • 잘못 구현된 경우에 속도 저하 및 심각할 경우 일관성이 무너지는 문제점이 생길 수 있다.
    • DBMS 고유 기능을 사용하기 어렵다.
  2. 프로시저가 많은 시스템에서는 ORM의 객체 지향적인 장점을 활용하기 어렵다.

profile
백엔드 프로그래머

0개의 댓글