티스토리 뷰
반응형
🚀 Hibernate
Hibernate는 JPA의 인터페이스를 구현한 구현체이다.
JPA와 Hibernate는 마치 자바의 interface와 해당 interface를 구현한 class와 같은 관계이다.
🚀 JPA(Java Persistent API)
JPA는 자바 진영의 ORM 기술 표준이며 관계형 데이터베이스와 자바 객체를 매핑하기 위한 EntityManager
인터페이스를 제공한다.
🌠 장점
- CRUD 쿼리를 자동으로 생성해준다.
- DB 종류에 상관없이 사용 가능하다.
- Entity에 속성만 추가해준다면 쿼리를 건들 필요가 없다.
🌠 단점
- 상대적으로 학습이 어렵다.
- 복잡한 쿼리 작성이 어렵다.
- 동적 쿼리 같은 복잡한 쿼리를 처리하는 것이 어려우므로 QueryDSL을 함께 이용한다.

🚀 Spring Data JPA
JPA는 인터페이스 다시말해 명세서이며 RDB 환경에서 DB를 어떻게 처리를 해야하는지에 대한 하나의 방법론이다.
이 인터페이스를 유저가 쉽게 다룰 수 있도록 만들어 놓은 모듈이 Spring Data JPA가 되는 것이다.
기존 EntityManager에서 벗어나 Repository 인터페이스를 사용하여 Spring Framework의 규칙대로 메소드를 입력하여 사용하며
입력된 메소드는 SQL문법에 맞추어 구현체로 만들어 Bean으로 만들어 컨테이너에 저장되게 된다.

🧾 Reference
반응형
'JPA' 카테고리의 다른 글
| SQL Mapper vs ORM (0) | 2022.05.10 |
|---|---|
| JPQL(Java Persistence Query Language) (0) | 2022.05.09 |
| 영속성 컨텍스트 (0) | 2022.05.07 |
| JPA vs Mybatis 차이 (0) | 2022.03.10 |
| 객체지향 쿼리 JPQL (0) | 2022.02.26 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- security
- java
- Algorithm
- 수학
- docker
- ajax
- OOP
- 프로그래머스
- spring-cloud
- 자바
- Matlab
- kakao
- 릿코드
- 디자인패턴
- Solid
- CS
- 스프링
- JPA
- springboot
- 그래프
- 매트랩
- interview
- 스프링부트
- C언어
- 백준
- Spring
- nginx
- 자격증
- 알고리즘
- 면접
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
글 보관함