✔️ ORM
먼저 JPA를 알아보기 전에 ORM개념을 이해하고 가자!
ORM 이란 Object-Relational Mapping 의 약자로 객체와 데이터베이스의 관계를 매핑해주는 도구이다.
✔️ 왜 orm이 필요할까?
- 패러다임 불일치를 해결해준다.
요기서 패러다임 불일치란 관계형 데이터베이스와 객체 지향 프로그래밍 사이의 데이터 표현 방식이 생기는 문제를 말한다.
- 관계형 데이터베이스 : 어떻게 데이터를 저장할지에 초점이 맞춰진 기술
- 객체 지향 프로그래밍 : 기능과 속성을 한 곳에서 관리 기술
이렇듯 관계형 데이터베이스와 객체지향 프로그래밍 언어의 패러다임이 서로 다르다는 문제점이 있는데 orm으로 객체와 데이터베이스를 매핑해줌으로써 이 문제를 해결할 수 있다.
- SQL query가 아니라 메서드로 데이터를 조작할 수 있게 해준다.
관계형 데이터베이스가 SQL만 인식할 수 있기때문에 각 테이블마다 기본적인 CRUD sql을 매번 생성해야하는 단순 반복 작업을 피할 수 있게 해준다.
✔️ JPA
JPA(Java Persistence API)는 Java 진영에서 ORM(Object-Relational Mapping) 기술 표준으로 사용하는 인터페이스 모음이다.
JPA는 인터페이스의 모음이므로 구현체가 필요한데 대표적으로 Hibernate가 있다.
✔️ 왜 JPA를 사용해야할까?
- SQL이 아닌 객체 중심으로 개발할 수 있게 된다. 이에 따라 생산성이 높아지고 유지보수 또한 용이해진다.
- 패러다임 불일치를 해결해준다.
예를 들어 Java에 있는 상속, 1:N 등의 다양한 객체 모델링을 데이터베이스로 구현할 수 없는 불일치가 있는데 이러한 불일치를 해결해준다.
- 반복적인 CRUD SQL을 처리해준다.