Develop/spring-data
Spring Data JPA란?
에디개발자
2020. 11. 5. 02:20
반응형
JPA란 무엇일까?
- Java Persistence API
- 인터페이스(Repository) 모음
- 자바 ORM 기술 표준
ORM이란?
Object-relational mapping으로 객체 관계 매핑이다.
객체는 객체대로, 관계형 데이터베이스는 데이터베이스대로 설계하고 ORM이 중간에서 매핑한다.
작동 원리
어플리케이션에서 JPA를 사용하면 JPA 내부에서 JDBC API를 통해 SQL을 호출하고 DB와 통신한다.
장점
- xml에 작성하는 query보다 간편하다.
- 테이블 DDL 수정 이력을 관리할 필요없다.
- Database의 table은 JPA의 Entity이다. table을 수정한다면 Entity를 수정하여 배포하기 때문에 history에 남게 된다.
- 유지보수에 용이하다.
- 테이블에 직접 접근하지 않고 Entity 필드명을 변경하여 Java단에서 build 하여 버그 위험성을 줄일 수 있다.
단점
- 복잡한 쿼리에는 적합하지 않다.
- 이 점을 보완하는 기능으로 Querydsl과 같이 사용한다.
다음 글에서는 JPA예제를 통해서 좀 더 자세히 정리하겠습니다.
반응형