SQL을 몰라도 데이터베이스를 조작할 수 있게 해주는 편리한 도구인 ORM을 공부하겠습니다.
ORM 기술 표준인 스프링 JPA와 이를 구현하기 위한 하이버네이트를 사용합니다.
✅ 데이터를 매우 효율적으로 보관하고 꺼내 볼 수 있는 곳
✅ 굉장히 많은 사람이 데이터를 사용하고, 관리할 수 있다.
✅ 데이터베이스를 관리하기 위한 소프트웨어
✅ MySQL, 오라클 등이 있다.
given-when-then은 테스트를 세 부분으로 나눕니다.
회원 테이블 | ||
---|---|---|
ID | 이메일 | 나이 |
1 | a@test.com | 10 |
2 | b@test.com | 20 |
2 | c@test.com | 30 |
✅ H2 -> 자바로 작성되어있는 RDBMS
✅ 스프링 부트가 지원하는 인메모리 관계형 데이터베이스
✅ MySQL -> 실제 서비스에 사용
✅ ORM은 자바의 객체와 데이터베이스를 연결하는 프로그래밍 기법
int age = 20;
String name = "홍길동";
이
age | name |
---|---|
20 | 홍길동 |
으로 바뀐다
✅ ORM에도 여러 종류가 있는데 자바에서는 JPA를 표준으로 사용한다
✅ JPA는 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
✅ 실제 사용을 위해 구현체인 하이버네이트를 사용한다.
데이터베이스의 테이블과 매핑되는 객체
엔티티를 관리해 데이터베이스와 어플리케이션 사이에서 객체를 생성, 수정, 삭제하는 드으이 역할을 한다.
@PersistenceContext
EntityManager em; //프록시 엔티티 매니저, 필요할 때 진짜 엔티티 매니저 호출
엔티티를 관리하는 가상의 공간
엔티티는 4가지의 상태를 가진다
스프링 데이터 JPA는 스프링 데이터의 공통적인 기능에서 JPA의 유용한 기술이 추가된 기술
✅ ORM은 객체와 데이터베이스를 연결하는 프로그래밍 기법
✅ JPA는 자바에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스
✅ 하이버 네이트는 JPA의 구현체 중 대표적
✅ 스프링 데이터 JPA는 JPA를 쓰기 편하게 만들어 놓은 모듈