티스토리 뷰
ORM(Object-Relational Mapping)?
ORM은 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 객체와 데이터베이스 테이블을 매핑해서 패러다임의 불일치 문제를 대신 해결해준다.
JPA?
JPA는 자바 ORM 기술에 대한 API 표준 명세로 인터페이스의 모음이다. 그렇기 때문에 JPA를 사용하기 위해서는 JPA를 구현한 ORM 프레임워크를 통해야 하며, 하이버네이트(Hibernate)가 가장 대중적인 프레임워크로 사용되고 있다.
JPA를 사용해야 하는 이유
생산성
- JPA를 사용하면 자바 컬렉션에 객체를 저장하듯이 JPA에게 객체를 전달하기만 하면 된다. 데이터베이스에 객체를 저장하기 위해 개발자는 CRUD용 SQL을 작성하고 JDBC API를 사용하는 반복작업을 수행해야 했다. 하지만 JPA를 사용하면 이런 반복적인 작업은 JPA가 대신하게 된다.
유지보수
- SQL을 직접 다루면 엔티티에 필드를 하나만 추가해도 관련된 SQL과 결과를 매핑하기 위한 API 코드를 모두 변경해야 한다. 반면에 JPA를 사용하면 이런 과정을 JPA가 대신 처리해주므로 필드를 추가하거나 삭제해도 수정해야 할 코드가 줄어든다.
패러다임의 불일치 해결
- JPA는 상속, 연관관계, 객체 그래프 탐색, 비교하기와 같은 패러다임의 불일치를 해결해준다.
성능
- JPA는 애플리케이션과 데이터베이스 사이에서 다양한 성능 최적화 기회를 제공한다.
데이터 접근 추상화와 벤더 독립성
- 관계형 데이터베이스는 같은 기능도 벤더마다 사용법이 다른 경우가 많다. JPA는 애플리케이션과 데이터베이스 사이에 추상화된 데이터 접근 계층을 제공하여 특정 데이터베이스 기술에 종속되지 않도록 해준다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 메신저
- Adapter
- context switching
- 하이버네이트
- 웹소켓
- websocket
- Context Switch
- 인스턴스연결
- 의존성 주입
- 접근제어자
- REST API
- 인스턴스
- java persistence api
- observer
- operating syatem
- react
- GOF
- java
- os
- 멀티프로세스
- 컴퓨터공학
- openssh
- ec2
- AWS
- Access Modifier
- Dependency Injection
- 운영체제
- ORM
- full duplex
- REST ful
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함