5. JPA (Java Persistence API)

JPA (Java Persistence API)는 Java에서 관계형 데이터베이스와의 상호작용을 위한 표준화된 ORM (Object-Relational Mapping) 기술입니다. JPA는 Java 애플리케이션에서 객체와 데이터베이스 간의 매핑을 쉽게 처리할 수 있도록 도와주는 API입니다.

JPA는 개발자가 객체 지향적인 방식으로 데이터를 다룰 수 있게 해줍니다. JPA를 사용하면 데이터베이스 테이블과 자바 객체 간의 매핑을 어노테이션을 통해 설정할 수 있으며, 객체 간의 관계를 관리하고 데이터를 검색, 생성, 수정, 삭제할 수 있는 기능을 제공합니다.

JPA는 다음과 같은 주요 개념과 기능을 포함합니다

1. 엔티티 (Entity)

JPA에서는 데이터베이스의 테이블과 매핑되는 자바 객체를 엔티티라고 합니다. 엔티티는 @Entity 어노테이션을 통해 정의되며, 데이터베이스 테이블의 레코드와 1:1로 매핑됩니다.

2. 엔티티 매니저 (Entity Manager)

엔티티 매니저는 JPA에서 엔티티의 영속성을 관리하는 인터페이스입니다. 데이터베이스와의 상호작용을 처리하고, 엔티티의 영속성 컨텍스트를 관리하여 데이터의 변경을 추적하고 트랜잭션을 관리합니다.

3. 영속성 컨텍스트 (Persistence Context)

영속성 컨텍스트는 엔티티의 상태를 추적하고, 엔티티와 데이터베이스 간의 변화를 관리하는 일종의 캐시입니다. 영속성 컨텍스트는 엔티티 매니저를 통해 접근하며, 엔티티의 영속성을 보장하고 성능을 최적화하기 위해 사용됩니다.

4. 객체-관계 매핑 (Object-Relational Mapping)

JPA는 객체와 데이터베이스 간의 매핑을 자동으로 처리해주는 기능을 제공합니다. 어노테이션을 사용하여 엔티티와 테이블, 속성과 컬럼 간의 매핑을 설정할 수 있으며, 객체 간의 관계도 표현할 수 있습니다.

JPA는 자바 개발자들이 관계형 데이터베이스와의 상호작용을 보다 쉽고 편리하게 처리할 수 있도록 도와줍니다. JPA는 Hibernate, EclipseLink, OpenJPA 등의 구현체를 통해 사용할 수 있으며, 이를 통해 개발자는 데이터베이스와의 상호작용을 추상화하여 생산성을 향상시킬 수 있습니다.

목차

page1. ORMpage2. 영속성 관리 (JPA 동작 원리)page3. Entitypage4. Entity의 Relationpage5. Proxypage6. JPQL

Last updated