데이터들이 프로그램이 종료되어도 사리지지않고 어떤 곳에 저장되는 개념을 영속성 (Persistence) 이라고 한다.
자바에서는 데이터의 영속성을 위한 JDBC 를 지원해주는데, 이는 매핑 작업을 개발자가 일일히 수행해야 하는 번거로움이 있다.
SQL Mapper 와 ORM은 개발자가 직접 JDBC Programming 을 하지 않도록 기능을 제공해주는 Persistence Framework 종류이다.
- SQL Mapper
- Object 와 SQL의 필드를 매핑하여 데이터를 객체화 하는 기술
- 객체와 테이블 간의 관계를 매핑하는것이 아님
- SQL문을 직접 작성하고 쿼리수행결과를 어떠한 객체에 매핑할지 바인딩하는 방법
- DBMS에 종속적인 문제
- JdbcTemplate, MyBatis
JPA(ORM)
- JPA : ORM(Object Relational Mapping) 기술
- 자바 ORM의 기술 표준
- 대표적인 오픈소스로 Hiberbate
- CRUD 메소드 기본 제공
- 쿼리를 만들지 않아도됨
- 1차 캐싱, 쓰기지연, 변경감지, 지연로딩 제공