반응형
1. ORM이란?
- 어플리케이션의 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑하는 것을 의미한다.
( Java 객체 - 관계형DB의 테이블 매핑 )
- 객체지향 프로그래밍과 관계형 데이터베이스의 차이로 발생하는 제약사항을 해결해주는 역할
- 장점: SQL 쿼리가 아닌 직관적인 코드로 테이터를 조작하고, 재사용 & 유지보수가 편리, DBMS에 대한 종속성이 줄어듬
- 단점: 복잡성이 커질 경우 ORM 만으로 구현하기 어려움(직접 쿼리를 구현하는 것이 X → 복잡한 설계가 어려움), 대형 쿼리는 튜닝이 필요할 수 있음
2. JPA란?
- ORM 관련된 인터페이스가 모여있는 라이브러리 (* Java에서 표준 ORM으로 채택)
(ORM은 큰 개념이고, JPA는 더 구체화 시킨 스펙)
- Hibernate : ORM 프레임워크 중 하나로, JPA의 실제 구현체 중 하나이다. (JPA 구현체 중 가장 많이 사용됨)
3. Spring Data JPA란?
- 스프링 프레임워크에서 JPA를 편리하게 사용할 수 있도록 지원하는 라이브러리
- CRUD 처리용 인터페이스를 제공하여, Repository 개발 시 인터페이스만 작성하면 구현 객체를 동적으로 생성하여 주입
- Hibernate 에서 자주 사용되는 기능을 조금 더 쉽게 사용할 수 있게 구현
반응형
'스프링' 카테고리의 다른 글
@RequestBody 란 (0) | 2022.10.09 |
---|---|
@PathVariable 사용법 (0) | 2022.10.05 |
Swagger 라이브러리 사용하기(API 명세서 자동화) (0) | 2022.08.18 |
@RestController와 @RequestMapping (0) | 2022.08.17 |
스프링부트 이메일 발송(구글 계정 이용) (0) | 2022.06.20 |