스프링부트 개념정리 with JPA 5강 - ORM이란 무엇인가요?

차관호·2023년 3월 28일
0

movie

1 JPA란?

  • JPA는 Java Persistence API이다.
  • JPA ORM 기술이다.
  • JPA는 반복적인 CRUD 작업을 생략하게 해준다.
  • JPA는 영속성 컨테스트를 가지고 있다.
  • JPA는 DB와 OPP의 불일치성을 해결하기 위한 방법론을 제공한다.(DB는 객체저장 불가능)
  • JPA는 OOP의 관점에서 모델링을 할 수 있게 해준다. (상속, 콤포지션, 연관관계)
  • 방언 처리가 용이하여 Migration하기 좋음, 유지보수에도 좋다.
  • JPA는 쉽지만 어렵다.

ORM(object relational mapping)

쉽게 말하면 오브젝트를 데이터베이스에 연결하는 방법론 같은 것이다.

자바 -> 데이터베이스 (자바:연결하고 싶어! 데이터베이스: ㅇㅋ 하면서 세션을 오픈하면 자바에 커넥션이 생김)
자바 -> 데이터베이스(자바:여러가지 쿼리를 날림, 데이터베이스:날라온 쿼리를 가지고 데이터를 만들거나 자바한테 리턴함)
리턴되어 돌아온 데이터들을 자바 오브젝트에 맞게 바꿔야 하는데 그것들을 ORM이 대신 해준다.

ORM은 귀찮은 CRUD를 대신해주는 우리의 착한 하인같은 존재다.

오늘의 TMI
모델링은 쉽게 이야기하면 추상적인 개념을 현실세계로 뽑아내는 걸 의미한다.

profile
안녕하세요 :-)

0개의 댓글