ORM을 알기에 앞써 데이터들이 프로그램이 종료되어도 사라지지 않고 어떤 곳에 저장되는 개념을 영속성(persistence)이라 한다.
Java는 데이터의 영속성을 위한 JDBC를 지원해주는데, 이는 매핑 작업을 개발자가 일일히 수행해야 하는 번거로움이 있다.
따라서 직접 JDBC Programming을 하지 않도록 기능을 제공해주는 Persistence Framework 를 이용하는데 SQL Mapper 와 ORM 로 나눌수 있다.
ex) JdbcTemplate, MyBatis
※ORM은 JPA ( Java Persistence API )를 표준 기술로 사용한다
ex) Hibernate, OpenJPA
JDBC: 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API
Persistence Framework: Persistence Layer ( 아키텍처, 데이터에 영속성을 부여하는 계층 ) 에서 사용하는 프레임워크
SQL Mapper: Object와 SQL의 필드를 매핑하여 데이터를 객체화 하는 기술
ORM: 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법
MyBatis: 자바에서 SQL Mapper를 지원해주는 프레임워크
JPA: Java 애플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스