일단 ORM ( Object Relational Mapping ) 을 알아야한다.
이 단어의 뜻은
객체지향 패러다임을 관계형 데이터베이스에 보존하는 기술 이라고 한다.
간단히 매핑을 해준다고 생각한다.
자바에서 우선 클래스를 설계하듯이 테이블을 설계한다.
새로운 테이블에는 칼럼을 정의하고 칼럼에 맞는 데이터 타입을
지정해서 데이터를 보관하는 틀을 만든다.
아하.. 이거 참 클래스와 굉장히 유사하지 않는가!
그러면 인스턴스와 Row( 튜플, 레코드 )를 생각해보자
클래스는 인스턴스를 생성하고 인스턴스라는 공간에 데이터를 보관한다.
테이블은 하나의 Row에 데이터를 보관하게 된다.
차이가 느껴지는가?
' 객체 ' 라는 단어가 데이터 + 행위(메서드) 라는 의미라면 Row는 데이터만을 의미한다.
( 데이터베이스에는 객체(엔트리) )
이를 보면 객체지향과 관계형 데이터베이스는 유사한 특징을 가지고 있다는 것을 알수가 있습니다.
이런 특징을 보고 객체지향을 자동으로 관계형 데이터베이스에 맞게 처리해주는 것을 만들어보면 어떻까??
라고 생각 했는 것이 ORM의 등장을 알리는 길이 되었다 이말입니다.
새로운 개념으로 보기는 힘들고 객체지향과 관계형 사이의 변환 기법을 의미 하는 것이다.
이를 보면 특정언어만 사용할수 있는 것이 아니라 관계형 패러다임을 가지고 있다면
데이터베이스의 종류를 따지지 않고 작동합니다.
JPA ( Java Persistence API ) 를 알아야한다.
말 그대로 자바라는 언어만을 사용하는 개념이라는 것입니다.
ORM을 Java 언어에 맞게 사용하는 스펙 이다.
흔히 스프링 콘솔창을 보면 Hibernate라는 글자를 콘솔창에서 볼수가 있다.
이는 오픈 소스로 ORM을 지원하는 프레임 워크 이다.
프레임 워크는 무엇일까?? 간편하게 생각해보자
우선은 라이브러리는 공구라고 생각하자
그러면 프레임워크는 운송수단(자동차, 비행기, 배 등) 운송수단이다.
그러면 답이 나와있다 개발자는 작업자이며
작업자가 무슨 공구를 써야 적합하며 또 작업장 거리가
적당한지 계산하여야하는 하나의 숙제인 것이다.
그래서 ORM을 사용하기 위해서 Hibernate라는 프레임워크를 사용한다.
엔티티 클래스와 JpaRepository를 알아보자
Spring Data JPA 개발에 필요한 것은 두 종류의 코드들이다.
1. JPA를 통해서 관리하게 되는 객체
2. 엔티티 객체들을 처리하는 기능을 가진 Repository
여기서 알아야할점은~
Repository는 Spring Data JPA에서 제공하는 인터페이스이며
이 인터페이스는 스프링 내부에서 자동으로 객체를 생성하고 실행하는 구조라서
내가 할일은 인터 페이스를 하나를 정의만 해도 된다는 것이다.
'프로그래밍 > Spring' 카테고리의 다른 글
제어문 처리 ( Thymeleaf편 ) - 1 - (0) | 2023.04.03 |
---|---|
스프링 내용 정리 - 2 - (0) | 2023.03.31 |
데이터 베이스 연결 (0) | 2023.03.29 |
구문 실행해보기 (0) | 2023.03.28 |
스프링 프로젝트 만들기 (기본적) (0) | 2023.03.28 |