JPA 소개
JAVA PERSISTENCE API
데이타 저장소
- 관계형 데이타베이스
자바를 통한데이터 접근 방법
- JDBC API
- iBatis(MyBatis)
- 스프링 JdbcTemplate : SQL Mapper
문제점
- 등록, 수정, 삭제, 조회(CRUD)의 SQL 반복
- 객체와 관계형 데이터베이스의 차이
객체와 관계형 데이타베이스 간의 차이를 해결
- ORM(Object Relational Mapping) 프레임워크
- https://en.wikipedia.org/wiki/List_of_object-relational_mapping_software
각 언어별 ORM 프레임워크종류
번호 | 언어 | ORM |
---|---|---|
1 | 자바 | Hibernate, eBean |
2 | Python | SQLAlchemy |
3 | .NET | Entity Framework, nHibernate |
4 | Ruby | ActiveRecord |
JPA
자바 진영에서 만든 ORM 기술 표준
스프링 진영에서 스프링프레임워크, "스프링 데이터 JPA"라는 기술로 적극 지원
전자정부 표준 프레임워크의 ORM 기술도 JPA
장점
- CRUD SQL을 작성할 필요가 없다.
- 조회된 결과를 객체로 매핑하는 작업도 대부분 자동으로 처리.
- 데이터 저장 계층에서 작성해야 할 코드가 대폭 줄어듬.
- SQL이 아닌 객체 중심으로 개발하며 생산성과 유지보수가 좋아짐.
- 데이타베이스 변경시 코드를 거의 수정하지 손쉽게 변경.