JPA(Java Persistance API)

김진아·2025년 1월 7일
0

JPA란?

JPA(Java Persistance API)는 자바에서 객체를 데이터베이스에 저장하고 관리하기 위한 인터페이스와 기능을 제공하는 API이다.

  • JPA를 사용하면 객체와 관계형 데이터베이스 간의 매핑을 손쉽게 처리할 수 있다.
  • 데이터베이스의 CRUD(Create, Read, Update, Delete) 작업을 간편하게 수행할 수 있다.
  • 엔티티 매니저가 생명주기를 관리해줘서, CRUD 및 JPQL쿼리 실행, 트랜잭션 관리가 자동으로 된다.

1. JPA의 RDB(Relational DataBase) 맵핑

JPA의 RDM 맵핑은 객체와 관계형 데이터베이스 간의 변환을 매끄럽게 처리하여, 개발자가 객체지향적으로 데이터를 다룰 수 있도록 도와준다.

아래의 사진을 참고하면, 엔티티에 Member 객체를 넣어도 DB에서는 author_id로 JPA가 알아서 FK로 처리해주는 것을 알 수 있다.


2. 간편한 CRUD작업

위에 사진 처럼 리포지토리가 JPA를 상속하면 save, delete, findAll, findById 등 여러 메소드를 편리하게 사용할 수 있다.

또한 쿼리문을 직접 작성할 수 있고, 이때 전달받은 파라미터를 넣어 JPQL쿼리를 작성할 수 있다.

간단하게는

어노테이션을 사용하지 않을 때에는 아래처럼 사용할 수 있다. 자세한 내용은 직접 찾아볼것!


3. 트랜잭션 관리

JPQL쿼리를 쓰면 자동으로 트랜잭션을 관리해줘서, 데이터에 오점이 생기는 등의 오류가 나지 않는다.

그러나 JPQL쿼리를 사용하지 않는 경우는 트랜잭션 관리를 따로 해줘야 한다. 이런 경우는 보통 SpringFramework의 @Transactional을 사용한다.

더 자세히 알아보고 싶다면 여기로! => @Transactional



내가 보고싶어서 간단히 정리했는데, 후에 내용을 추가할지도 모른다.

profile
https://develop-chick.tistory.com/ 첫번째 블로그

0개의 댓글