JPA/기초 공부

1. JPA란 무엇인가?

pakms980319 2024. 1. 28. 13:54

JPA(Java Persistence API)

자바에서 관계형 데이터베이스와의 상호 작용을 위한 자바 표준 API이다. 자바와 RDBMS 간의 매핑을 단순화하고, 데이터베이스에 대한 데이터 액세스를 추상화하는 목적으로 개발되었다.


주요 특징

 

1. 객체-관계 매핑(ORM, Object-Relational Mapping)

JPA는 자바 객체와 데이터베이스 테이블 간의 매핑을 자동으로 처리하여, 객체 지향 애플리케이션에서 사용되는 객체 모델과 RDBMS 간의 불일치를 해결한다.


2. 엔터티(Entity)

JPA에서 관리되는 데이터베이스의 테이블과 매핑되는 자바 객체를 엔터티라고 한다. 주로 데이터베이스에서 가져오거나 저장되는 대상이며, JPA에서는 `@Entity` 어노테이션을 사용하여 표시된다.


3. 엔터티 매니저(Entity Manager)

JPA에서는 엔터티 매니저가 데이터베이스와의 통신을 담당한다. 엔터티 매니저를 사용하여 엔터티의 생명 주기를 관리하고 데이터베이스와의 상호 작용을 수행할 수 있다.


4. JPQL(Java Persistence Query Language)

JPA는 SQL과 유사한 JPQL을 제공하여 개발자가 데이터베이스 쿼리를 작성하는 데 도움을 준다. JPQL은 엔터티 객체를 기반으로 쿼리를 작성할 수 있으며, 데이터베이스 종속성을 줄여준다.


5. Cascade 옵션

엔터티 간의 관계에서 변경이 발생할 때 자동으로 관련된 엔터티도 함께 변경되도록하는 Cascade 옵션을 제공한다.


6. 데이터베이스 스키마 생성

JPA는 엔터티 클래스를 기반으로 데이터베이스 테이블을 자동으로 생성하는 기능을 제공한다.


7. 트랜잭션 관리

JPA에서는 엔터티 매니저를 사용하여 트랜잭션을 시작하고 커밋 또는 롤백하는 등의 트랜잭션 관리를 할 수 있다.


JPA는 여러 구현체가 있는데 그 중에서 가장 널리 사용되는 것은 Hibernate이다. Hibernate는 JPA 스펙을 구현한 구현체 중 하나로, JPA를 사용하여 개발할 때 자주 선택되는 프레임워크 중 하나이다.

 

 

JPA

EJB

Hibernate

EclipseLink

jpql


출처

 

https://ultrakain.gitbooks.io/jpa/content/

 

'JPA > 기초 공부' 카테고리의 다른 글

6. Eclipse 환경 설정  (0) 2024.02.04
5. Maven 설치하기  (0) 2024.02.03
4. 웹 개발용 ECLIPSE IDE 설치하기 (Window 10)  (0) 2024.02.03
3. JDK 설치하기 (JDK17, Window10)  (0) 2024.02.03
2. 설치 프로그램  (0) 2024.02.03