우리가 일반 적으로 알고 있는 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면된다.
대중적인 프레임워크에는 대부분 ORM 기술이 존재
기존 방법의 개발 리소스 낭비
개발자가 직접 SQL 을 작성하고 테이블 수정에 있어 전체 SQL 을 조회 후 직접 수정해야 하는 작업이 필요했음.
또한 필요이상의 인터페이스 혹은 xml 파일의 추가가 필요했음.
객체지향성
테이블 연관관계를 좀더 객체지향 적으로 설계 가능.
member.getTeam();
member.getOrder().getOrderItem();
위와 같은 방법으로 연관관계에 있는 테이블간 좀 더 객체지향적인 탐색이 가능하다
테이블 수정이 있을 경우 SQL문을 일괄 수정해야했는데 Entity 객체에 필드 추가만 해주면 기본적인 로직에 대해 자동 적용이 가능
편의성
편의성의 경우 Spring Data JPA 란에서 후술