자바 VS DB

Jina·2024년 7월 28일
0

백엔드 개발에서 가장 중요한 것은 데이터를 관리하는 일이라고 할 수 있다.
그리고 데이터를 관리하기 위해 사용하는 것이 바로 데이터베이스, DB이다.

그렇다면 데이터베이스를 사용하기 위해서는 어떻게 해야 할까?

먼저, 어떻게 사용해야 하는지를 알아보기 전에, 자바 세상과 DB 세상이 어떻게 다른지부터 알아보는 것이 필요하다.

자바 세상에서의 객체와 데이터베이스는 지향하는 목적이 다르기 때문에 표현 방법도 다르기 때문이다.

자바 VS DB

  1. JAVA
    • 객체지향
    • 객체에는 상속 개념이 존재
    • 객체는 참조 사용
  1. DB
    • 상속 개념 없음
    • PK와 FK로 연관 관계 설정
    • 데이터 중심으로 구조화

위 사진에서 보면 자바 세상에서는 Member의 필드 값으로 Team 타입의 team을 갖고 있지만, DB 세상에서는 TEAM_ID라는 FK를 갖고 있는 것을 볼 수 있다.

그렇다면 이 두 차이는 어떻게 극복해야 할까?

JPA

이 차이를 극복하기 위해 탄생한 것이 바로 JPA이다.

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

JPA를 통해 우리는 다음과 같은 장점을 얻게 되었다.

  • SQL 중심적인 개발에서 객체 중심으로 개발
  • 생산성 향상
  • 유지보수 용이
  • 패러다임의 불일치 해결
    • 객체 지향적인 자바와 데이터 중심인 DB의 관점 차이로 인한 패러다임의 불일치 해결
  • 성능 향상
  • 데이터 접근 추상화와 벤더 독립성
    • JPA는 인터페이스이므로 다른 회사의 데이터베이스를 끼워 넣어도 코드 변경 없이 알아서 매핑해준다.

결과적으로, JPA를 사용하면 SQL이 아닌 객체 중심으로 개발할 수 있게 된다.

0개의 댓글