JPA는 자바 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다. 즉, 실제적으로 구현된것이 아니라 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크이다. JPA를 구현한 대표적인 오픈소스로는 Hibernate가 있다.
JPA 를 시작하기 전에 ORM에 대해서 간단하게 설명하자면 ORM은 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이다.
JPA를 사용하는 이유?
JPA는 반복적인 CRUD SQL을 처리해준다. JPA는 매핑된 관계를 이용해서 SQL을 생성하고 실행하는데, 개발자는 어떤 SQL이 실행될지 생각만하면 되고, 예측도 쉽게 할 수 있다. 추가적으로 JPA는 네이티브 SQL이란 기능을 제공해주는데 관계 매핑이 어렵거나 성능에 대한 이슈가 우려되는 경우 SQL을 직접 작성하여 사용할 수 있다.
반복적인 CRUD SQL을 작성하고 객체를 SQL에 매핑하는데 시간을 보내기에는 우리의 시간이 너무아깝다. 이미 많은 자바 개발자들이 오랫동안 비슷한 고민을 해왔고 문제를 해결하려고 많은 노력을 기울여왔다. 그리고 그 노력의 결정체가 바로 JPA다.
'spring 스프링' 카테고리의 다른 글
JPA로 오라클 테이블 만들기 (0) | 2023.05.20 |
---|---|
[spring] 스프링 기초 설정 (0) | 2023.05.18 |
[MyBatis] DAO 인터페이스 만들기 (2) | 2023.05.15 |
[MyBatis] 마이바티스 개념 및 정리 (0) | 2023.05.15 |
lombok (롬복) 라이브러리 스프링으로 사용 (0) | 2023.05.15 |