본문 바로가기

프로그래밍/spring

[스프링 입문] JPA

시작에 앞서 이 글은 인프런 김영한 님의 강의를 정리하며 쓴 글입니다.

웹 백엔드를 공부하시는 분이라면 꼭 김영한님의 강의를 들어보시길 추천합니다.

 

 

우리가 JDBC Template을 사용하면서 반복되는 번거로운 작업들을 줄이는 데 성공했습니다. 이제는 더 편하게 데이터베이스와 상호 작용할 수 있는 JPA를 살펴보겠습니다.

 

 

JPA란?

JPA는 자바 ORM 기술의 하나로, 객체와 관계형 데이터베이스의 테이블을 간편하게 매핑해줍니다. ORM은 Object-Relational Mapping의 약자로, 자바 객체와 데이터베이스 테이블 간의 관계를 매핑하는 것입니다.

 

 

 

엔터티(Entity)와 매핑

JPA에서는 엔터티를 정의할 때 @Entity 어노테이션을 사용합니다. 이 어노테이션을 붙이면 해당 클래스가 데이터베이스의 테이블과 매핑된다고 인식합니다.

 

@Entity
public class Member {
    // 멤버 속성들...
}

 

 

레포지토리 생성과 EntityManager

엔터티를 다루기 위해서는 EntityManager가 필요합니다. EntityManager는 JPA의 핵심입니다. 그래서 레포지토리를 생성할 때 EntityManager를 주입받아야 합니다.

 

@Repository
public class MemberRepository {

    private final EntityManager em;

    // 레포지토리 메서드들...
}

 

JPA와 관련한 내용은 JPA 수업에서 따라 자세하게 다룰 예정이라고 하셨다.

이번 수업에서는 간단하게나마 JPA를 다루어보았다.

 

(JPA와 관련한 내용은 따로 카테고리를 만들어 정리할 예정입니다.)