이모저모

ORM, JPA, Spring Data JPA 본문

coding/Java, Spring

ORM, JPA, Spring Data JPA

Jeo 2022. 2. 16. 15:55

ORM(Object Relational Mapping)

- 객체와 DB의 테이블이 매핑을 이루는 것.

- SQL Query가 아닌 객체에 대한 메서드로 데이터를 조작할 수 있어 더 직관적으로 다룰 수 있고, 절차적 코드 대신 비즈니스 로직에 집중 가능.

 

JPA(Java Persistence API)

- 자바 진영에서의 ORM 기술 표준 사양

- 즉 관계형 데이터베이스 사용 방식을 정의한 인터페이스일 뿐, 특정 기능을 수행하는 라이브러리가 아님.

- 객체 지향 도메인 모델과 관계형 데이터베이스 시스템 간의 다리 역할

- spring boot에서의 JPA 구현체로 Hibernate가 사용됨.

- JDBC(Java Database Connectivity)와의 차이: jdbc는 mapper로서 단순히 필드를 매핑시킬 뿐 직접 SQL을 명시해주어야 함. 이와 달리 JPA는 DB테이블을 자바 객체로 매핑하여 객체 간 관계를 바탕으로 SQL을 자동 생성함.

 

Spring Data JPA

- JPA를 편하게 사용할 수 있게 만들어 스프링에서 제공하는 모듈

- Repository 라는 인터페이스를 제공하며, 내부적으로 EntityManager를 사용함(개발자가 직접 EntityManager 다룰 필요 없음)

 

 

'coding > Java, Spring' 카테고리의 다른 글

request scope와 provider, proxy  (0) 2022.02.17
bean 등록시 자동/수동 선택 기준  (0) 2022.02.17
조회된 bean이 2 개 이상일 경우 해결방법  (0) 2022.02.16
의존관계 자동 주입  (0) 2022.02.16
singleton container  (0) 2022.02.16
Comments