JPA란? JPA는 자바 진영의 ORM 표준 기술이다. JPA는 애플리케이션과 JDBC 사이에서 동작한다. ORM(Object-Relational Mapping)은 이름 그대로 객체와 관계형 데이터베이스를 매핑한다는 뜻이다. ORM 프레임워크는 객체와 테이블을 매핑해서 패러다임의 불일치 문제를 개발자 대신 해결해 준다. 따라서 객체 측면에서는 정교한 객체 모델링을 할 수 있고 관계형 데이터베이스는 데이터베이스에 맞도록 모델링하면 된다. 그리고 둘을 어떻게 매핑해야 하는지 매핑 방법만 ORM 프레임워크에게 알려주면 된다. 덕분에 개발자는 데이터 중심인 관계형 데이터베이스를 사용해도 객체지향 애플리케이션 개발에 집중할 수 있다. JPA는 자바 ORM 기술에 대한 API 표준 명세다. 쉽게 이야기해서 인터페이..
영속성(Persistence) 영속성은 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미한다. 영속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램을 종료하면 모두 잃어버리게 된다. 결국 영속성은 특정 데이터 구조를 이전 상태로 복원할 수 있게 해 주어 프로그램의 종료와 재개를 자유롭게 해 준다. 이는 Layered Architecture에서 도메인 모델과 데이터베이스사이에 존재하며, 프로그램의 객체 정보를 DB에 저장하고, DB의 정보를 객체로 담아와 사용할 수 있도록 한다. Java에서는 영속성을 위해 JDBC를 지원해 주는데, JDBC에서 DB에 접근하여 SQL을 수행하고, 결괏값을 다시 데이터타입으로 매핑시켜 주는 작업을 개발자가 일일이 수행해야 ..