728x90
출처: 자바 ORM 표준 JPA 프로그래밍
주된 이유: 패러다임의 불일치
.
.
.
===객체지향 언어와 관계형 데이터베이스의 차이에서 오는 어려움===
-객체를 테이블에 맞추어 모델링 해야함: 객체는 상속관계, 테이블은 슈퍼타입 서브타입 관계, 객체는 참조 사용, 테이블은 외래키 사용
-진정한 의미의 계층분할이 어려움: DAO 작성자와 service 작성자가 다를때, 서비스에서 DAO를 맘놓고 못쓴다. 쿼리가 실제로 어떻게 나가는지 일단 확인해야하기 때문이다.
-객체를 자바 컬렉션처럼 디비에 저장하고 사용하고싶음: 그래야 다형성, 객체 그래프 탐색 등이 쉬움
종합하면, 프로그래머는 객체지향 프로그래밍의 장점을 살려서 프로그래밍 하고싶다.
그러나 패러다임의 불일치로 인해서 급한 불을 끄는 식으로 sql 맵퍼처럼 일하고 있었다.
그래서 JPA를 사용해서 OOP를 OOP답게 사용하고자 한다.
ddd객
728x90
'Dev > JPA' 카테고리의 다른 글
[강의정리] 프록시와 연관관계 관리 (0) | 2021.05.18 |
---|---|
[강의정리] 상속관계 매핑 (0) | 2021.05.18 |
[강의정리] 연관관계 매핑 (0) | 2021.05.17 |
[강의정리] 엔티티 매핑 (0) | 2021.05.17 |
[강의정리] 영속성 컨텍스트의 동작 (0) | 2021.05.17 |