자바 ORM 표준 JPA 프로그래밍
01장. JPA 소개
- JAVA로 관계형 데이터베이스를 데이터 저장소로 사용하면서, JDBC API를 사용하게 되었다.
- 더 나아가 MyBatis나 JdbcTemplate 같은 SQL 매퍼를 사용하면서 JDBC API의 사용 코드를 줄일 수 있게 되었다.
- 하지만, 매퍼를 사용해도 CRUD용 SQL은 반복해서 작성해야 해서 비생산적이였으며, 객체 모델은 점점 데이터 중심의 모델로 변해갔다.
- 그래서 객체와 관계형 데이터베이스 간의 차이를 중간에서 해결해주는 ORM 프레임워크가 생겼다.
- 지루하고 반복적인 CRUD SQL또한 알아서 처리가 되었다. 성능의 걱정은 JPA가 제공하는 네이티브 SQL 기능을 사용해서 직접 SQL을 작성할 수도 있었고, 데이터베이스 쿼리 힌트도 사용할 수 있었다.
- 데이터베이스를 변경하여도 코드의 수정은 거의 없었다.
📌 01. SQL을 직접 다룰 때 발생하는 문제점
- 진정한 의미의 계층 분할이 어렵다.
- 엔티티를 신뢰할 수 없다.
- SQL에 의존적인 개발을 피하기 어렵다.
📌 02. 패러다임의 불일치
- 객체 모델과 관계형 데이터베이스 모델은 지향하는 패러다임이 서로 다르다.
- JPA는 패러다임의 불일치 문제를 해결해주고 정교한 객체 모델링을 유지하게 도와준다.
📌 03. JPA란 무엇인가?
- JPA는 자바 ORM 기술에 대한 API 표준 명세이다.
- 대중적으로 Java ORM으로는 하이버네이트를 사한다.
- 생산성, 유지보수, 패러다임의 불일치 해결, 성능, 벤더(데이터베이스) 독립성의 이유로 사용된다.
#Women-in-Spring
#2024-11-완독-자바-orm-표준-jpa-프로그래밍