Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 값타입
- DiscriminatorColumn
- relational database
- DiscriminatorValue
- MappedSuperclass
- 정렬
- 플러시
- JPA
- Spring
- fetch join
- 지연로딩
- 엔티티 매핑
- DB
- relational DB
- n+1문제
- Flush
- commit
- 관계형 데이터베이스
- Embeddable
- Spring Data JPA
- 영속성 컨텍스트
- 고아객체
- ROLLBACK
- 페치조인
- 분할상환분석
- Amortized Analysis
- 영속성전이
- Algorithm
- 순수jpa
- 즉시로딩
Archives
- Today
- Total
Jun's note
[JPA] JPA, ORM, Spring Data JPA 란? 본문
728x90
JPA (Java Persistence API)
- 자바 ORM 기술에 대한 표준 명세로, JAVA에서 제공하는 API이다. (순수 JPA를 의미) (객체를 DB에 매핑)
- 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스이다.
- ORM이기 때문에 자바 클래스와 DB테이블을 매핑한다. (sql을 매핑 x 즉 sql 직접 짜는것이 아님)
- ORM의 한 종류이다 (JAVA기반)
그럼 ORM은 무엇일까?
ORM (Object-Relation Mapping, 객체-관계 매핑)
- Object - 매핑 - DB 데이터
- 객체를 디비에 자동으로 매핑해준다. (매서드로 데이트를 조작할 수 있고, 객체간 관계를 바탕으로 sql을 자동으로 생성함)
- 객체를 통해 간접적으로 디비 데이터를 다룬다.
- 종류: JPA, Hibernate
JPA와 JDBC는 어떤 차이인가?
먼저, JDBC란?
자바 애플리케이션과 데이터베이스를 연결하여 서로 데이터를 주고 받을 수 있게 해주는 인터페이스이다.
쉽게 말하면 애플리케이션 <-> 데이터베이스를 연결하는 느낌이다. (둘을 연결해주는 다리를 만드는 느낌)
지금은 JPA가 JDBC API를 자동 호출한다. (JPA>JDBC API)
그래서 JDBC API 부분은 특별히 건드리지 않아도 된다.
만약 JPA가 JDBC API를 다루지 않는다면, 아래의 과정이 필요하다.
1) JDBC Driver loading
2) Connection
3) Statement/ PreparedStatement
4) executeUpdate() or executeQuery()
5) ResultSet (select의 경우)
6) close
그럼 Spring Date JPA는 무엇일까?
Spring Data JPA
쉽게 말하면 JPA를 쉽게 사용하기 위해 스프링에서 제공하고 있는 프레임워크이다.
'Programming > JPA' 카테고리의 다른 글
[JPA] 상속관계매핑, @MappedSuperclass (0) | 2022.01.14 |
---|---|
[JPA] 다양한 연관관계 매핑 (다대일, 일대다, 일대일, 다대다) (0) | 2022.01.13 |
[JPA] 엔티티(Entity), 연관관계 매핑 (0) | 2022.01.13 |
[JPA] 영속성 컨텍스트 개념, 이점 (0) | 2022.01.13 |
[JPA] JPA 동작 과정과 장점 (0) | 2022.01.13 |
Comments