시그마 삽질==six 시그마

JPA -Introduction 본문

프로그래밍/JPA

JPA -Introduction

Ethan Matthew Hunt 2020. 3. 30. 22:13

 

우아한 형제들의 김영한 팀장님의  '자바 ORM 표준 JPA 프로그래밍'을

구입하시길 강력 추천드립니다.

책 구입을 원하시는분은 요기를 클릭하시면 됩니다.

저자 직강 인프런 강의도 있습니다 궁금하신분은 요기를 클릭

하단의 내용은 제가 예전에 읽었던 내용을 요약 정리한 것입니다.

 

1. JPA 정의

 

JPA는 자바 진영의 ORM 기술 표준(자바 ORM 기술에 대한 API 표준 명세) 

ORM(Object-Relational Mapping)은 객체와 관계형 데이터베이스를 매핑해주는 기술

다양한 자바 ORM 프레임워크들이 있는데 그중에 하이버네이트 프레임워크가 가장 많이 사용됨

JPA(Java Persisitence API)는 자바 ORM 기술에 대한 API 표준 명세고 그걸 구현한 ORM 프레임워크가 하이버네이트임 

 

 

2. JPA 장점

 

 

1) 생산성 

단순 CRUD SQL 작성안해도됨 

 


2) 유지보수 

예전 방식은 필드 하나만 추가해도 관련된 CRU  코드 변경해하는데 이걸 JPA가 대신 처리해줌

 



3) 패러다임 불일치 해결 

 

  객체지향 프로그래밍 데이터베이스
사고방식 객체중심 데이터 중심
상속 상속개념 상속개념
연관관계 참조를통해 관계형성,참조로 접근해서 조회(외래키가 필요없고 참조만 있으면됨) 외래키를 통해 관계형성 ,조인으로 조회,항시 양방향 조인가능.(테이블은 참조가 필요없고 외래키만 있으면됨)
비교 동일성,동등성비교 기본키의 값으로 구분



4) 성능 

 

JPA는 애플리케이션과 DB사이에서 성능 최적화 기회를 제공함

 

 


5) 데이터 접근 추상화와 벤더 독립성 

 

데이터베이스에 종속되지 않을 수 있음

 

 

 

 

부수적 장점

-SQL을 안보고 도메인 클래스만 봐도 비지니스 로직이 이해됨(oneToMany, ManyToOne...annotation..)

-테스트 케이스 쉽게 생성( CRUD 쉽게 생성)

 

 

 

저자의 인상 깊었던 문구

 

'SQL 의존적 개발에서 벗어나 객체중심으로 개발하자. 개발자는 SQL 매퍼가 아니다'

'프로그래밍 > JPA' 카테고리의 다른 글

JPA -다양한 연관관계 매핑  (0) 2020.04.09
JPA -연관관계 매핑  (1) 2020.04.08
JPA -Entity Mapping  (0) 2020.04.08
JPA -Persistence Management  (0) 2020.04.08
JPA-Flow  (0) 2020.04.08
Comments