Develop/spring-data

Spring Data JPA란?

에디개발자 2020. 11. 5. 02:20
반응형

JPA란 무엇일까? 

  • Java Persistence API
  • 인터페이스(Repository) 모음
  • 자바 ORM 기술 표준
ORM이란? 
Object-relational mapping으로 객체 관계 매핑이다.
객체는 객체대로, 관계형 데이터베이스는 데이터베이스대로 설계하고 ORM이 중간에서 매핑한다.

 

작동 원리

JPA Workflow

어플리케이션에서 JPA를 사용하면 JPA 내부에서 JDBC API를 통해 SQL을 호출하고 DB와 통신한다.

 

장점

  • xml에 작성하는 query보다 간편하다.
  • 테이블 DDL 수정 이력을 관리할 필요없다.
    • Database의 table은 JPA의 Entity이다. table을 수정한다면 Entity를 수정하여 배포하기 때문에 history에 남게 된다. 
  • 유지보수에 용이하다.
    • 테이블에 직접 접근하지 않고 Entity 필드명을 변경하여 Java단에서 build 하여 버그 위험성을 줄일 수 있다.

단점

  • 복잡한 쿼리에는 적합하지 않다.
    • 이 점을 보완하는 기능으로 Querydsl과 같이 사용한다.

다음 글에서는 JPA예제를 통해서 좀 더 자세히 정리하겠습니다.

반응형