영속성의 의미는 데이터를 생성한 프로그램이 종료되더라도 사라지지 않는 데이터의 특성을 말한다.영속성을 갖지 않는 데이터는 단지 메모리에서만 존재하기 때문에 프로그램을 종료하면 모두 잃어버리게 된다. 따라서 파일 시스템, 관계형 테이터베이스 등을 활용하여 데이터를 영구적으로 저장하여 영속성 부여할 수 있는 수단이 있어야 한다.

Persistence Layer

Layered Archetecture 개요

SpringLayerdArchitecture.jpg

영속 계층 (Persistence layer)

프로그램의 아키텍처에서, 데이터에 영속성을 부여해주는 계층을 말한다. JDBC를 이용하여 직접 구현할 수 있지만, Persistence framework(jpa,mybatis)를 이용한 개발이 많이 이루어진다.이러한 영속성 계층은 JDBC 프로그래밍의 복잡함이나 번거로움 없이 간단한 작업만으로 데이터베이스와 연동되는 시스템을 빠르게 개발할 수 있으며 안정적인 구동을 보장하기 위한 계층이다.

보통 Persistence Framework는 SQL Mapper(mybatis)와 ORM(JPA)으로 나눈다. MyBatis는 ORM(Object-Relational Mapping) 기술 중 하나이지만, 엄밀히 말하면 전체적으로 ORM 프레임워크라기보다는 SQL 매핑 프레임워크로 분류 된다.

JPA 구조

Spring JDBC

KakaoTalk_20230306_093241693.jpg

JPA

KakaoTalk_20220926_113620420.jpg