일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Cloud SQL
- Cloud Datastore
- ansible
- AWS Database
- playbook
- Solution Architect Certificate
- Reverse Proxy
- Google Cloud Platrofm
- GKE
- gcp
- Cloud Spanner
- Google Cloud Platform
- Amazon Web Service
- Compute Engine
- Google Cloud Platorm
- kubernetes
- 리버스 프록시
- container
- Solution Architect
- Cloud Bigtable
- AWS Solution Architect
- Cloud Storage
- AWS
- Kubernetes Engine
- AWS 자격증
- 앤서블
- AWS Certificate
- 아마존웹서비스
- VPC
- Google Cloud
- Today
- Total
sungwony
[JPA] JPA(Java Persistence API) Intro 본문
프롤로그(Prologue)
JPA와 ORM등의 기술은 스프링으로 개발을 하면서 꾸준히 들어왔던 기술이다.
개인적으로 기존에 개발을 하면서 주로 SQL을 분리시켜 관리할 수 있는 매퍼(Mapper)형 기술인 Mybatis, Ibatis 등을 주로 사용하였지만 배달의 민족을 비롯한 많은 큰 기업에서 JPA를 지속적으로 도입하는 등을 접하면서 이를 공부할 필요성을 깊이 느껴 본격적으로 공부하고 작은 지식이라도 도움이 되고자 블로그를 통해 남기고자 한다.
JPA(Java Persistence API)
JPA는 데이터를 저장하기위한 RDBMS와 OOP(객체 지향 프로그래밍, Object Oriented Programming) 사이에서 서로 다른 패러다임을 일치시키고 개발 생산성을 향상시키기 위해 꾸준하게 고민을 해왔던 JAVA 진영의 표준 ORM 기술이며 다음과 같은 특징이 있다.
- 자바의 ORM(객체 관계 매핑, Object-relatinal mapping) 표준
- 애플리케이션과 JDBC 사이에서 동작
- JPA는 인터페이스의 모음이며 현재 JPA 2.1 버전이 최신이다
- 대표적인 구현체로 하이버네이트, EclipseLink, DataNucles가 있다
JPA의 장점
- 데이터베이스와 객체 사이의 추상화된 형태로 동작하므로 얻을수 있는 여러 장점들이 있다
- 특정 데이터베이스에 종속되지 않는다
- 컬럼이 추가되는 등 데이터베이스 스키마의 변화가 이뤄졌을 때 쿼리를 일일이 수정하지 않고 객체(엔티티)를 수정하여 처리하는 등 수정폭이 적어 개발 생산성과 유지보수성에 도움을 준다
- 영속성 컨텍스트에서 캐싱 등을 지원하므로 성능상의 이점을 가질 수 있다