ORM(Object Relational Mapping)?
- 객체와 데이터베이스의 테이블 사이의 관계를 연결해주는 것
- 애플리케이션에서의 객체와 데이터베이스의 테이블에는 차이점이 존재함(상속 여부, 외래키 등등)
- ORM없이 데이터를 직접 핸들링한다면 select 쿼리를 날려 받은 결과값을 하나하나 어떤 정보인지 매핑해서 사용해야함
JPA(Java Persistence API)
- Java 진영에서 ORM 표준으로 지정
- 데이터에 접근한 api 규격을 정의
→ ORM이 전체적인 개념이라면 jpa는 구체적으로 기능을 정의한 스펙
Hiabernate
- JPA에 대한 실제 구현체
Spring Data JPA
- Spring에서 hibernate를 더 간편하게 사용하도록 추상 객체를 한번 더 감싸서 만들어놓은 것
- 실제로 EntityManager에 접근하지 않더라도 데이터에 대한 접근을 쉽고 객체지향적으로 처리할 수 있음
정리!!!
→ 객체와 테이블을 연결해주는 기술을 ORM.
→ Java에서는 ORM 표준 스펙으로 JPA를 인터페이스로 정의
→ JPA의 실제 구현체 중 범용적으로 쓰이는 것이 Hibernate
→ Hibernate 중에서도 특정 기능들을 더 사용하기 쉽도록 Spring Framework에서 제공하는 것이 Spring Data JPA
반응형
'Tech > Spring' 카테고리의 다른 글
[Spring MVC] HandlerMapping (0) | 2022.03.11 |
---|---|
[Spring] Could not write JSON: Infinite recursion (StackOverflowError) 이슈 (3) | 2021.03.04 |
[Spring] Validation @Email은 null을 허용한다. (1) | 2020.12.03 |
[Spring Boot] 갓 초기화한 스프링 부트 프로젝트 살펴보기 (0) | 2020.01.22 |
[Spring boot] 스프링 부트의 핵심 (0) | 2020.01.21 |