객체와 관계형 데이터베이스의 차이
- 객체에는 상속관계가 있지만 관계형 데이터베이스에는 상속 관계가 없음
- 연관관계
- 데이터 타입
- 데이터 식별 방법
: Java Persistence API
자바 진영의 ORM 기술 표준
: Object-relational mapping (객체 관계 매핑)
객체와 관계형 DB의 데이터를 자동으로 매핑해주는 것을 말함.
- 객체지향 프로그래밍은 클래스를 사용, 관계형 DB는 테이블을 사용
- 객체 모델과 관계형 모델 간 불일치가 존재
- ORM을 통해 객체 간의 관계를 바탕으로 SQL을 자동으로 생성해 불일치를 해결
즉,
DB 데이터
<-매핑->Object 필드
객체를 통해 간접적으로 DB 데이터를 다룸
JPA는 애플리케이션과 JDBC 사이에서 동작
JDBC: Java Database Connectivity
자바에서 DB에 접속할 수 있도록 하는 자바 API
JDBC가 DB에서 자료를 쿼리하거나 업데이트 하는 방법을 제공함.
JPA 동작 - 저장
JPA 동작 - 조회
그니까,, JPA를 왜 사용?
- SQL 중심적인 개발 → 객체 중심으로 개발
- 생산성
- 유지보수
- 패러다임 불일치 해결
- 성능
- 데이터 접근 추상화와 벤더 독립성
- 표준
변경할 이름
")1-1. 같은 트랜잭션 안에서는 같은 엔티티를 반환 - 약간의 조회 성능 향상
1-2. DB Isolation Level이 Read Commit이어도 애플리케이션에서 Repeatable Read 보장
✔️ INSERT
2-1. 트랜잭션을 커밋할 때까지 INSERT SQL을 모음
2-2. JDBC BATCH SQL 기능을 사용해서 한번에 SQL 전송
✔️ UPDATE
2-1. UPDATE, DELETE로 인한 로우(ROW)락 시간 최소화
2-2. 트랜잭션 커밋 시 UPDATE, DELETE SQL 실행하고, 바로 커밋
난,, 난 모르겠다,,