스프링부트와 AWS로 혼자 구현하는 웹서비스-JPA를 사용하는 이유

qq·2023년 9월 11일
0
post-thumbnail

💡객체를 관계형 데이터베이스에서 관리하는 것이 중요하다

스프링과 관계형 데이터 베이스를 사용할 때 SQL을 사용해야 하는 이유는 그 둘간의 패러다임 불일치 문제 때문에 사용한다.
관계형 데이터 베이스는 어떻게 데이터를 저장할지에 초점이 맞춰진 반면 객체지향 프로그래밍 언어는 메시지를 기반으로 기능과 속성을 한 곳에서 관리하는 기술이다

💡객체 지향 프로그래밍에서 부모가 되는 객체를 가져오려면

User user = findUser();
Group group = user.getGroup();

💡관계형 데이터베이스에서 부모가 되는 객체를 가져오려면

User user =userDao.findUser();
Group group = groupDao.findGroup(user.getGroupId());

이렇게 하게 되면 User따로, Group따로 조회하게 된다.
이렇게 되면 User와 Group이 어떤 관계인지 알 수 없게된다.

💡서로 지향하는 바가 다른 객체지향 프로그래밍 언어와 DBMS를 연결해주기 위해 JPA가 등장하게 되었다.

Spring data JPA

Spring data JPA라는 모듈을 이용하여 JPA기술을 다룬다

JPA <- Hibernate <- Spring data JPA

장점

  • 구현체 교체의 용이성
  • 저장소 교체의 용이성
profile
백엔드 개발자

0개의 댓글