인프런 - 스프링부트 개념 정리(이론) - 정리

5강 - ORM이란 무엇인가요?

달팽이포뇨 2023. 3. 9. 17:31

Inflearn 최주호 강사님의 스프링부트 개념정리(이론) 강의를 듣고 정리한 내용입니다.

 

2. JPA는 ORM 기술이다.

3. JPA는 반복적인 CRUD 작업을 생략하게 해준다.

ORM이란? Object를 DB에 연결하는 방법론

Java가 사용하는 Object 데이터의 타입과 DB에서 사용하는 데이터의 타입이 다르다.

class 파일이 DB 테이블 데이터의 타입을 Java가 사용하는 Object 데이터의 타입으로 바꿔준다.

원래는 DB 테이블 데이터 -> Java에서 사용하는 Object 데이터 생성하는 것이지만, 

ORM에서는 Java에서 사용하는 Object 데이터 -> DB 테이블 데이터를 생성한다.

 

ORM이 세션 오픈, 커넥션, 쿼리 전송 등의 반복적인 작업을 하나의 함수로 해결할 수 있게 해준다. 

즉,  반복적인 CRUD 작업을 생략하게 해준다.

 

------------------------------------------------------------------------------------------------

(다음)

4. JPA는 영속성 컨텍스트를 가지고 있다.

5. JPA는 DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공한다. (DB는 객체 저장 불가능)

6. JPA는 OOP의 관점에서 모델링을 할 수 있게 해준다. (상속, 콤포지션, 연관관계)

7. 방언 처리가 용이하여 Migration하기 좋음. 유지보수에도 좋음.

8. JPA는 쉽지만 어렵다.