‘객체 지향 프로그래밍은 추상화, 캡슐화, 정보은닉, 상속, 다형성 등 시스템의 복잡성을 제어할 수 있는 다양한 장치들을 제공한다’

패러다임의 불일치

-상속 : DB의 경우 상속 개념은 없고 테이블간 슈퍼타입, 서브타입 관계가 있다

-연관관계 : 객체는 참조를 사용, 테이블은 외래키 사용 객체는 자유롭게 객체 그래프를 탐색할 수 있어야 한다. 반면 SQL은 처음 실행하는 탐색 범위에 따라 결정됨 (join 여부) → 상황에 따라 동일한 조회 메서드를 여러 개 생성해야 함

→ 물리적으로 계층이 분할되어 있지만 논리적으로 계층 분할이 되어 있지 않음 (?) -데이터 타입

-데이터 식별 방법

객체를 자바 컬렉션에 저장하듯이 DB에 저장할 수 없을까?”JPA 등장

ORM ?

-Object-relational mapping(객체 관계 매핑)

-객체는 객체대로 설계

-관계형 데이터베이스는 관계형 데이터베이스대로 설계

-ORM 프레임워크가 중간에서 매핑

-대중적인 언어에는 대부분 ORM 기술이 존재