springframework/Spring Data JPA

JPA 개요

Jungsoomin :) 2020. 11. 8. 22:29

ORM

  • 어플리케이션 클래스 와 데이터베이스의 테이블 사이의 맵핑 정보를 기술한 Metadata 를 사용하여, 자바 어플리케이션 객체를 SQL 데이터베이스 테이블에 자동으로 그리고 기술비침투적(완전 비침투가 아님)으로 영속화 해주는 기술이다.
  • MetaData : 클래스의 멤버 변수와 프로퍼티가 어느 컬럼에 맵핑되는지 , 어떤 클래스가 어떤 테이블에 맵핑되는가를 기술

JPA , 구현체인 Hibernate 도메인 모델을 사용한다.

 

 


이유

  • 객체 지향적이다.
  • 디자인 패턴 사용이 가능하다.
  • 재사용성이 좋다.
  • 비즈니스 로직에 집중하기 편하다.

장점

  • 생산성 : 하이버네이트 사용시 쉽고 빠르게 사용가능
  • 유지보수성 : 코드가 간결해 짐
  • 성능 : 객체와 테이블의 데이터 사이의 캐싱 기능
  • 벤더 독립성 : 하이버네이트는 데이터베이스에 맞게 문법을 작성한다.(Dialect)

단점

  • 높은 학습 비용 : 하이버네이트 쿼리를 반드시 알고 판단할 수 있어야한다.

'springframework > Spring Data JPA' 카테고리의 다른 글

관계 맵핑, 1 : N  (0) 2020.11.13
Value 타입 맵핑  (0) 2020.11.13
엔티티타입 맵핑  (0) 2020.11.13
JPA 실행하고 적용하기  (0) 2020.11.09
ORM 패러다임 불일치  (0) 2020.11.08