-
2022_06_21 JPA는 무엇인가?태투'S/SIL 2022. 6. 21. 11:34
1. 정의
JPA는 Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음이다. JPA는 Java Persistence API 의 준말인데 persistence 뜻 그대로 자바 프로그래밍을 할 때 영구적으로 데이터를 저장하기 위해 인터페이스를 제공해주는 것
JPA는 특정기능을 제공하는 라이브러리가 아닌 인터페이스이기 때문에 Hibernate, OpenJPA, (EclipseLink, DataNucleus, TopLink Essentials) 등이 JPA를 구현한다.
2. JPA의 장단점
우선 JPA가 나오고 나서 기존 SQL 중심적인 개발에서 객체 중심의 개발이 가능해졌다. 이에 따라 생산성증대, 유지보수시간 단축, 패러다임 불일치를 해결할 수 있게 되었다. 앞서 언급한 이점을 토대로 아래 정리해 보았다.
장점
- 특정 데이터베이스의 종속되지 않음
- 객체지향적 프로그래밍 (데이터 베이스 설계중심에서 객체지향적 설계)
- 생산성 향상 (SQL문 재작성, 유지보수측면, 재사용성 증가)
단점
- 복잡한 쿼리 처리 -> 대안 JPQL/ QueryDSL, 아니면 Mybatis등을 사용해여 해결
- 학습비용이 크다.
- 잘못 사용시 SQL문 직접 작성보다 성능 저하.
'태투'S > SIL' 카테고리의 다른 글
2022_07_29 JVM 이란? (0) 2022.07.29 2022_07_20 IoC가 무엇인가요? (0) 2022.07.20 2022_07_20 컬렉션 클래스에서 제네릭을 사용하는 이유 (0) 2022.07.20 2022_07_08 Process 와 Thread (0) 2022.07.08 2022_06_21 Spring Web MVC의 Dispatcher Servlet의 동작 원리에 대하여 (0) 2022.06.21