자바 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-프로그래밍

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글