-
[SPRING] JPA의 이해-3(ORM)study/spring 2019. 12. 27. 20:52
앞서 두 개의 글에서 객체 지향 프로그래밍과 관계형 데이터베이스에 대해서 정리를 했다.
2019/12/27 - [study/spring] - [SPRING] JPA의 이해-1(관계형 데이터베이스)
2019/12/27 - [study/spring] - [SPRING] JPA의 이해-2(객체지향 프로그래밍)
그 둘을 보면 참 다르다란 생각이 든다.
관계형 데이터베이스는 하나의 외래키만으로 참조하고 있는 테이블들의 데이터를 조회할 수가 있었는데 객체지향 프로그래밍은 클래스 내에 필드로 지정을 해야만 조회를 할 수 있었다.
그렇다고 외래키를 직접 정수형 혹은 문자형 타입으로 필드에 지정해놓기에는 객체지향으로써의 이점을 전혀 살리지 못한다.
테이블의 조인을 클래스에서 이용할 수 없고 클래스의 상속을 테이블에서 이용할 수 없다.
관계형 데이터베이스와 객체지향 프로그래밍, 이 두 개를 원활하게 사용하기 위해 존재하는 것이 ORM이다.
ORM은 객체가 테이블이 되도록 매핑을 시켜준다.
클래스에 @Entity 라는 어노테이션만 지정을 해주면 그에 맞춰서 그 클래스(객체)가 테이블이 된다.
뿐만 아니라 외래키를 지정하지 않고 필요한 객체를 클래스 내에 선언해주기만 하면 필요한 객체의 데이터까지 조회를 할 수 있게 된다.
'study > spring' 카테고리의 다른 글
[SPRING] Spring vs. Spring boot (0) 2020.07.23 [SPRING] 스프링의 정의 / 특징 / 동작 원리 (0) 2020.07.21 [SPRING] JPA의 이해-2(객체지향 프로그래밍) (0) 2019.12.27 [SPRING] JPA의 이해-1(관계형 데이터베이스) (0) 2019.12.27 [SPRING] Spring AOP 주요개념 (0) 2019.09.28