2024.06.27.목.TIL 내일배움캠프 51일차 <JPA>

김기남·2024년 6월 27일
0

안녕하세요, 오늘은 JPA 심화주차를 맞이하여 JPA 에 대해 알아보았습니다.

JPA

Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음입니다.
자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스입니다.
인터페이스이기 때문에 Hibernate, OpenJPA 등이 JPA를 구현합니다.

JPA와 Hibernate

DBMS에도 여러 종류가 있는 것처럼 ORM에도 여러 종류가 있습니다. 자바에서는 JPA를 표준으로 사용합니다. JPA는 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스로, 실제 사용을 위해서는 ORM 프레임워크를 추가로 선택해야 합니다. 이때, 대표적인 프레임워크로 하이버네이트를 많이 사용합니다.

JPA 사용 이유

  • 생산성
    JPA를 사용하면 자바 컬렉션에 저장하듯이 JPA에게 저장할 객체를 전달할 수 있습니다.
    JPA가 간단한 CRUD를 알아서 다 짜주기 때문에 SQL을 작성하는데 많은 시간을 투자할 필요 없을 뿐더러, 반복적인 SQL을 만드는 단순 반복 작업을 하지 않을 수 있게 됩니다.

  • 유지보수
    기존에는 필드 변경 시 모든 SQL을 수정해야 했지만 JPA를 사용하면 우리는 필드만 추가하면 SQL은 JPA가 알아서 자동으로 처리해줍니다.

  • 패러다임 불일치 해결
    개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 대신 생성해 실행합니다. JPA를 이용함으로써 개발자는 항상 객체 지향적으로 코드를 표현할 수 있게되어 더는 SQL에 종속적인 개발을 하지 않아도 됩니다. JPA를 통해 객체 중심으로 개발을 할 수 있게 되다보니 생산성 향상은 물론 유지 보수또한 정말 편리해집니다.

반복적인 CRUD SQL을 작성하고 객체를 SQL에 매핑하는데 시간을 보내기에는 우리의 시간이 너무아깝다. 이미 많은 자바 개발자들이 오랫동안 비슷한 고민을 해왔고 문제를 해결하려고 많은 노력을 기울여왔다. 그리고 그 노력의 결정체가 바로 JPA다. JPA는 표준 명세만 570페이지에 달하고, JPA를 구현한 하이버네이트는 이미 10년 이상 지속해서 개발되고 있으며, 핵심 모듈의 코드 수가 이미 십만 라인을 넘어섰다. 귀찮은 문제들은 이제 JPA에게 맡기고 더 좋은 객체 모델링과 더 많은 테스트를 작성하는데 우리의 시간을 보내자. 개발자는 SQL Mapper가 아니다.
🌸자바 ORM 표준 JPA 프로그래밍 / 저자: 김영한

참고 :
https://dbjh.tistory.com/77
https://hstory0208.tistory.com/entry/JPA-JPA%EB%9E%80-%EA%B7%B8%EB%A6%AC%EA%B3%A0-Spring-Data-JPA

profile
새로운 시작~!

0개의 댓글