orm는 객체 지향과 sql 사이의 패러다임의 차이를 극복하기 위해서 만들어졌다.

자바진형의 표준 orm이 jpa이다.

패러다임의 차이로 인해 다음 4가지의 대표적 문제가 발생한다.

  1. 상속
  2. 연관관계
  3. 객체 그래프 탐색
  4. 비교하기

저 위의 4가지를 jpa가 모두 알아서 해준다.

<세부사항>

  1. 자바는 상속 테이블은 슈퍼타입 서브타입
  2. 자바는 참조 테이블은 포린키의 차이
  3. 모든 객체에 대해 필요한 걸 모두 조인할 경우 말도 안됨 → jpa의 즉시 로딩, 지연 로딩
  4. jpa로 find 한건 같은 스레드 일 경우 모두 이퀄이 성립

필드가 하나 추가되거나 삭제 되었을 경우 유지보수성도 뛰어남