[SpringDataJPA] JPA
해당 블로그 글은 백기선님의 스프링 데이터 JPA강의를 참고해 쓴 것입니다.
1. 환경설정
- Spring Boot
- PostgreSQL
- \list : 데이터베이스 조회
- \dt : 테이블 조회
2. ORM
- Object-Releation Mapping
- ORM은 애플리케이션의 클래스와 SQL 데이터베이스의 테이블 사이의 맵핑 정보를 기술한 메타 데이터를 사용해, 자바 애플리케이션의 객체를 SQL 데이터베이스의 테이블에 자동으로 영속화해주는 기술
- 왜 ORM 인가?
- 객체 지향 프로그래밍의 장점을 활용할 수 있음
- 각종 디자인 패턴
- 코드 재사용
- 비즈니스 로직 구현 및 테스트 용이
장점 | 단점 |
---|---|
생산성 | 학습비용 |
유지보수성 | |
성능 | |
벤더 독립성 |
ORM : 패러다임 불일치
- 객체와 릴레이션 매핑 시 문제 발생 |문제점|객체|릴레이션| |—|—|—|—| |밀도|다양한 크기 객체 생성 가능
커스텀한 타입 만들기 쉬움|테이블
기본 데이터 타입| |서브타입|상속 구조 만들기 쉬움
다형성|테이블 상속 없음
상속| |||| |||| |||| ||||