ORM
JPA
엔티티
엔티티 매니저
엔티티 매니저 팩토리
영속성 컨텍스트 특징
1. 1차 캐시
2. 쓰기 지연
3. 변경 감지
4. 지연 로딩
엔티티의 상태
1. 분리
2. 관리
3. 비영속
4. 상태
하이버네이트
스프링 데이터 JPA
ORM
데이터베이스
DBMS (DataBase Management System)
관계형 DBMS (RDBMS, relational DMBS)
1. 행
2. 열
H2
DB 용어
1. 테이블 (table)
2. 행 (row)
3. 열 (column)
4. 기본키 (primary key)
5. 쿼리 (query)
ORM (Object-Relational Mapping)
ORM 장점
1. SQL 직접 작성 x
2. 객체지향적 코드 작성
3. DBS에 대한 종속성 적음
4. 매핑하는 정보가 명확
ORM 단점
1. 프로젝트의 복잡성 올라감
2. 복잡하고 무거운 쿼리는 해결 불가능
영속성 (Persistence)
JPA (Java Persistence API)
하이버네이트 (hibernate)
엔티티 (Entity)
엔티티 매니저 (entity menager)
엔티티 매니저 팩토리 (entity manager factory)
영속성 컨텍스트
1. 1차 캐시
2. 쓰기 지연
3. 변경 감지
4. 지연 로딩
프록시 엔티티 매니저
엔티티 상태
1. 분리 (detached)
2. 관리 (managed)
3. 비영속 상태 (transient)
4. 삭제된 (removed)
persist()
detach()
remove()
스프링 데이터 (Spring data)
스프링 데이터 JPA
JpaRepository 사용하기
1. 상속
2. <엔티티명, 기본키타입>
3. CRUD 사용
1. save()
2. findById()
3. findAll()
4. deleteById()
@Entity
@Id
엔티티의 접근 제어자
@GeneratedValue
자동키 생성 설정 방식
1. AUTO
2. IDENTITY
3. SEQUENCE
4. TABLE
@Column
@Coulumn 애너테이션의 속성
1. name
2. nullable
3. unique
4. columnDefinition
리포지토리
H2
ORM
JPA
하이버네이트
엔티티
엔티티 매니저
엔티티 매니저 팩토리
프록시 엔티티 매니저
영속성 컨텍스트
영속성 컨텍스트 특징
1. 1차 캐시
2. 쓰기 지연
3. 변경 감지
4. 지연 로딩
엔티티 상태
1. 분리 상태
2. 관리 상태
3. 비영속 성태
4. 삭제된 상태
엔티티 관리 메서드
1. persist()
2. detach()
3. remove()
스프링 데이터 JPA
JpaRepository
JpaRepository 메서드
1. save()
2. findById()
3. findAll()
4. deleteById()
@Entity
@Id
@GeneratedValue
자동키(기본키) 생성 방식
1. AUTO
2. IDENTITY
3. SEQUENCE
4. TABLE
@Column
@Column의 속성
1. name
2. nullable
3. unique
4. columnDefinition
'소프트웨어학부 > 스프링 부트 3 개발자 되기 자바 편' 카테고리의 다른 글
04. 스프링 부트 3와 테스트 (0) | 2025.03.19 |
---|---|
03. 스프링 부트 3 구조 이해하기 (0) | 2025.03.15 |
02. 스프링 부트 3 시작하기 (0) | 2025.03.15 |
01. 자바 백엔드 개발자가 알아두면 좋은 지식 (0) | 2025.03.09 |
00. 개발 환경 구축하기 (0) | 2025.03.09 |