[TIL] 18 JPA

김지수·2024년 5월 16일

TIL

목록 보기
18/53

JPA

자바 표준 API(JPA)는 객체 관계 매핑(Object-Relational Mapping, ORM)을 위한 자바 표준 인터페이스다. JPA는 데이터베이스와 자바 객체 간의 매핑을 쉽게 처리할 수 있도록 도와주는 API이다.

JPA 목적

엔티티(Entity)

JPA에서는 데이터베이스의 테이블을 자바 객체로 표현한 것을 엔티티라고 한다. 엔티티 클래스는 @Entity 어노테이션으로 표시되며 데이터베이스의 각 레코드에 해당한다.

엔티티 매니저(Entity Manager)

엔티티 매니저는 영속성 컨텍스트를 관리하고 엔티티의 CRUD(Create, Read, Update, Delete) 작업을 처리한다. 개발자는 엔티티 매니저를 사용하여 데이터베이스와 상호 작용할 수 있다.

객체와 관계형 데이터베이스 테이블 간의 매핑

JPA를 사용하면 자바 클래스와 데이터베이스 테이블 간의 매핑을 선언적으로 정의할 수 있다. 이를 통해 개발자는 객체 지향적인 방식으로 데이터베이스와 상호 작용할 수 있다.

객체의 영속성 관리

JPA는 엔티티의 생명주기를 관리하고 영속성 컨텍스트를 제공하여 데이터베이스와의 트랜잭션 처리를 쉽게 할 수 있습니다. 개발자는 영속성 컨텍스트를 통해 엔티티를 추적하고 변경사항을 관리할 수 있습니다.

객체 간의 관계 매핑

JPA를 사용하여 객체 간의 다양한 관계를 매핑할 수 있다. 단방향 및 양방향 관계를 정의하고, 일대일, 일대다, 다대일, 다대다와 같은 다양한 관계를 표현할 수 있다.

JPQL(Java Persistence Query Language) 지원

JPA는 데이터베이스에 대한 독립적인 쿼리 언어인 JPQL을 제공한다. JPQL을 사용하여 객체를 쿼리하고 검색할 수 있으며 SQL을 직접 사용하지 않고도 데이터베이스에 접근할 수 있다.

트랜잭션 관리

JPA는 트랜잭션을 관리하는 기능을 제공한다. 개발자는 트랜잭션을 시작하고 커밋하거나 롤백할 수 있으며 데이터베이스 트랜잭션을 관리할 수 있다.

JPA는 많은 ORM 프레임워크의 기반이 되는 기술로서 자바 개발에서 데이터베이스와의 상호 작용을 단순화하고 객체 지향적인 개발을 촉진하는 데 중요한 역할을 한다. 대표적인 JPA 구현체로는 Hibernate, EclipseLink, OpenJPA 등이 있다.


오늘의 회고

긍정적인 점

오늘은 과제에 집중하여 많은 것을 하고 있다. 과제를 완료하기 위해 계속 노력 할 것이다.

부정적인 점

강의를 듣다가 시간이 많이 소요되어 오늘 완료 하였다. 과제를 진행하면서 시간이 부족해서 아쉽다.

개선할 점

과제 외에도 효율적으로 시간을 활용해야 할 것 같다.

느낀 점

과제에 시간을 할애하여 성과를 내기 위해 노력했다. 과제를 위해 새로운 것을 많이 배운 것 같다.

profile
서툴고 부족한 점이 많지만, 배우고 발전하며 성장하기 위해 노력하겠습니다.

0개의 댓글