[SpringBoot] - JPA란?

army246·2022년 8월 5일
0

Spring Boot

목록 보기
3/4

JPA란?

JPA는 Java Persistence API의 약자이다. Java의 ORM을 의한 표준 기술로 Hibernate, Spring JPA, EclipseLink 등 구현체가 있으며 표준 인터페이스가 JPA이다.

ORM 은 Java의 객체와 관계형 DB를 매핑하는 것으로 DB의 특정 테이블이 자바의 객체로 매핑되어 SQL문을 하나하나 일일이 작성하지 않아도 객체로 구현할 수 있도록 하는 프레임워크이다.

JPA 장점

  • 코드량이 적다.

    • Mybatis와 비교했을 때 쿼리를 하나하나 일일이 작성할 필요가 없어서 코드량이 적다.
  • 가독성이 좋다.

    • 객체 위주로 코드를 작성하기 때문에 부수적인 코드가 줄어들어서 가독성이 좋다.
  • 객체지향적인 코드 작성이 가능하다.

    • 객체지향적인 접근만을 고려하면 되기 때문에 생산성이 증가한다.
  • 간편하게 수정 가능하다.

    • 여러 요구사항으로 기능 수정이 발생해도 DB로부터 간편하게 수정이 가능하다.
  • 유지보수와 리팩토링에 유리하다.

    • 매핑하는 정보가 Class로 명시되기 때문에 ERD를 보는 의존도를 낮출 수 있다.

Spring Data JPA 구현

Spring Data JPA는 JPA를 더 쉽고 편하게 사용하기 위한 Spring Data 프레임워크의 한 부분이다.
JPA를 이용한 구현체를 더 추상화시켜 더 쉽고 간편하게 JPA를 사용하여 개발할 수 있게 도와주는 Spring 모듈이다.

  • STS에서 프로젝트를 생성하면서 starter를 이용해서 Spring Data JPA를 추가할 수 있다.
<dependencies>
	<dependency>
    	<groupId>org.spring.framework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
</dependencies>
  • 또 다른 방법으로 Spring Boot 프로젝트 생성 후 pom.xml (Maven 기준)에 Dependency를 수동으로 작성할 수 있다.

참고
이미지 - 구글 검색
블로그

profile
천천히 꾸준히

0개의 댓글