개요
- JPA를 사용하기에 앞서 JPA가 무엇인지, 사용하면 어떤 이점이 있는지 정도는 알고 사용해야 된다고 생각하였고 포스팅을 진행하였다.
- javax.persistence-api
Java 와 RDB
- 대부분 Java(객체 지향 언어)와 관계형 DB를 같이 사용한다.
- 그렇기 때문에 SQL 중심으로 개발이 이루어지면서 동시에, SQL을 통해 테이블 데이터를 객체로 조립(SQL 매핑) 또는 객체를 테이블로 매핑하는 작업을 반복적으로 진행해야 할 수 밖에 없다.
- 또한 각 테이블 마다 반복되는 CRUD 코드가 생길 수 밖에 없다.
- 이러한 작업은 개발자에게 있어 단순 반복 적인 작업을 만들게 되고 해당 부분에서 개발자의 실수로 에러가 발생할 확률이 높다.
- 즉, 객체와 SQL의 불편한 동거를 해결하기 위해 JPA 가 탄생하였다.
- 둘 사이의 패러다임은 완벽하게 불일치하는데 JPA 는 이를 해결해준다.
기본 패러다임의 불일치
- Java와 RDB는 기본 패러다임이 다르다!
- Java는 추상화, 캡슐화, 정보은닉, 상속, 다형성 등 객체 지향적인 개발을 목표로 한다.
- RDB는 데이터를 잘 정규화하여 저장하는 것을 목표로 한다.
차이점
1. 상속

- Java의 객체 상속과 DB의 상속은 개념 자체가 다르다.