Persistence(영속성)
- 데이터를 생성한 프로그램이 종료되어도 사라지지 않는 데이터의 특성이다.
- 영속성은 파일 시스템, 데이터베이스 등을 활용하여 구현된다.
Java는 HD 일부 영역을 잘라서 데이터를 저장하고 관리한다.
이를 위한 시스템이 따로 존재하고 이것을 DBMS (DataBase Management System)이라고 한다.
Object Relational Mapping
Context : 대상에 대한 모든 정보
Java 프로그램은 DB에 저장해야하는 모든 정보를 가지고 있다.
개발자가 프로그래밍 할때 OOP로 모델링하면 디비 저정/조회시 JPA가 알아서 DB 데이터타입 <-> OOP
로 매핑해서 처리한다.
위 4번 항목으로인해 개발자는 OOP관점 모델링이 가능하다.
JPA는 수많은 DB를 지원해준다.
JPA는 DB 추상화 객체를 가지고 있어 만일 오라클레서 MySQL로 마이그레이션을 해야하는 경우 추상화객체만 바꾸면 된다. (개발자가 connection, query 등을 수정할 필요가 없다.)
음.. 나는 마이바티스만 사용했는데.. JPA 써봐야겠다..
📎 참고 : 스프링부트 개념정리(이론) - 최주호