Object Relational Model
OOP와 RDB를 연결할 계층의 역할로 제시된 패러다임입니다.
RDB의 Model을 OOP의 Entity형태로 투영시키는 방식을 사용합니다.
이는 시스템에 따라, 사용하는 DB 및 DB Connector에 따라 달라질 수 있는 데이터 매핑 구조를 객체지향 형태로 통일시켜, SQL 구조의 DB를 OOP구조의 형태로 매핑시키려는 패러다임입니다.
이러한 ORM을 구현하는 대표적인 프레임워크로는 Hibernate가 있습니다.
이를 Java 표준으로 정의한 것이 JPA입니다.
하지만 전 세계적으로 Data를 다루는 기술의 하나로 각광받는다고 합니다.
OOP와 RDB의 정보 처리 방식이 전혀 다르기 때문에, 둘 사이의 통역기 역할을 해줍니다.
이로 인한 장점은, 프로그램 개발시 OOP적으로 RDB를 다룰 수 있기 때문에 Data를 다루는 부분에서의 생산성이 올라간다고 합니다..
개발자가 OOP에 집중할 수 있게 됨으로써 생산성을 높이겠다는 것이죠.
실제 사용해 본 경험으로는 RDB 지식과 시행착오를 거치고 사용한다면, 좀 더 멋진 코드를 만들어 낼 수 있다는 의견에 동의합니다.
Django로 간단하게 서버 만든적이 있었는데 쿼리문 짜는 거에 익숙하다보니까 오히려 ORM이 더 어렵고 낯설더라구요 ㅠㅠ ㅠ 하지만 디온 말대로 시행착오 거치고 나면 좀 쓸만한것 같아요...ㅎㅎㅎㅎㅎ