JPA 및 이전 기술 특징
- 순수 JDBC
- sql과 JDBC api를 직적 작성해야했음.
- JdbcTemplate
- JDBC api는 줄었지만 sql은 직접 작성.
- JPA(Java Pesistence API)
객체와 관계형 데이터베이스 차이
- 상속
- 관계형 데이터베이스는 상속이라는 개념이 없음.
- 비슷한 구조로
Table 슈퍼타입 서브타입 관계
- 부모 타입 table과 자식 타입 table로 join으로 값을 가져옴.
- 하지만 각각의 table에 작업을 하기 위해 여러개의 sql의 문이 필요함.
- 연관관계
- 객체는
참조 사용
- 데이터베이스는
외래키를 사용
- 데이터 타입
- 객체 :
참조를 기반으로 하기에 객체를 포함되도록 모델링
- 데이터베이스 :
외래키를 기반으로 하기에 키 값을 가지도록 모델링
- 데이터 식별 방법
- 객체 : 객체는 자유룝개 객체 그래프를 탐색할 수 있어야 함.
- 데이터베이스 : 처음 실행하는 sql에 따라 탐색 범위 결정
결론
- 객체지향적인 모델링을 할 수록 매핑 작업이 늘어나기에 SQL중심 개발과의 객체지향 패러다임 불일치를 해결하기 위해 나온 결과가
JPA이다.
참조
- 인프런 : 자바 ORM 표준 JPA 프로그래밍 - 기본편
- 링크