JPA란?
JPA는 Java Persistence API의 약어를 뜻합니다.
JPA는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는
인터페이스 모음입니다.
즉 구현된 클래스와 매핑을 해주기 위해서 사용되는 프레임워크란 것입니다.
JPA를 구현한 오픈 소스로는 Hibernate 등이 있습니다.

ORM이란?
JPA를 알아봤으니 ORM에 대해서도 알아볼 차례입니다.
ORM은 Object-Relational Mapping의 약어이며
우리가 알고 있는 Application Class와 릴레이션 데이터베이스(RDB)의 테이블을
매핑 , 즉 연결한다는 뜻이며 어플리케이션의 객체를 테이블에 자동으로 영속화 해주는 것이라고
보면 편하실겁니다.
JPA의 장점
sql문이 아닌 메서드를 통해 데이터베이스를 조작 할 수 있어
개발자는 비즈니스 로직을 구성하는데만 집중이 가능합니다.
쿼리와 같이 선언문 , 할당등의 코드가 줄어들어 객체의 대한 코드를 작성하여
가독성을 높일 수 있습니다.
객체지향적인 코드가 작성이 가능하기 때문에
생산성이 증가합니다.
연결(매핑)하는 정보가 클래스로 명시되어있기 떄문에 ERD의 의존도를 낮출 수 있고
유지보수 , 리팩토링 등에 유리합니다
DB를 다른 DB로 변환할 경우 새로 쿼리를 짜야하는 경우가 있지만
ORM을 사용하면 쿼리 수정할 필요가 없습니다.
JPA의 단점
프로젝트의 규모가 크고 복잡하며, 설계가 잘못되었을 경우
속도 저하와 일관성이 무너지는 문제점이 생길 수 있습니다.
복잡하고 무거운 쿼리는 속도를 위해 별다른 조작이 필요하기 때문에
sql문을 작성해야 할 수 있습니다.
학습비용이 높습니다.
'JAVA' 카테고리의 다른 글
[Spring] 스프링 AOP의 개념과 특징 (0) | 2022.12.16 |
---|---|
Java - 표기법 정리 (0) | 2022.12.08 |