be_better

[JPA] JPA를 사용해야 하는 이유 본문

JPA

[JPA] JPA를 사용해야 하는 이유

NiceTry 2023. 6. 12. 19:51

목차

    JPA 배경

    웹 서비스를 개발하고 운영하다 보면 피할 수 없는 문제가 데이터베이스를 다루는 일이다. 현재까지도 MyBatis, JDBC Template으로 데이터베이스 쿼리를 작성하다 보니 실제로 개발하는 시간보다 SQL을 다루는 시간이 더 많다

     

    Java개발자들 사이에서 어떻게 하면 관계형 데이터베이스를 이용하는 프로젝트에서 객체지향 프로그래밍을 할 수 있을지에 대한 고민중 문제의 해결책으로 JPA라는 자바 표준 ORM(Object Relational Mapping) 기술을 만나게 된다.

     

     

    JPA 소개

    웹 애플리케이션에서 관계형 데이터베이스(RDB, Relational Database)는 빠질 수 없는 요소이기 때문에 객체를 관계형 데이터베이스에서 관리하는 것이 무엇보다 중요하다. 관계형 데이터베이스가 계속해서 웹 서비스의 중심이 되면서 모든 코드는 SQL 중심이 되었기 때문에 현업 프로젝트 대부분이 애플리케이션 코드보다 SQL로 가득하게 된 것이다.

     

    어떻게 데이터를 저장할지에 초점이 맞춰진 관계형 데이터베이스와 기능과 속성을 한 곳에서 관리하는 객체지향 프로그래밍은 패러다임이 불일치하다.

     

    객체지향 프로그래밍 코드에 데이터베이스가 추가가 되면 상속, 1:N 등 다양한 객체 모델링을 명확히 표현 할 수가 없다.

     

    JPA는 서로 지향하는 바가 다른 2개 영역을 중간에서 패러다임 일치를 시켜주기 위한 기술.

    개발자는 객체지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 대신 생성해서 실행해준다. 따라서 더는 SQL에 종속적인 개발을 하지 않아도 된다.

     

     

     

    출처: 스프링 부트와 AWS로 혼자 구현하는 웹 서비스

    'JPA' 카테고리의 다른 글

    [JPA] @ManyToOne 연관관계에 따른 데이터베이스 오류  (0) 2023.12.02