[자바 ORM 표준 JPA 프로그래밍] 9장

2023. 5. 23. 23:26· Backend/Spring Boot

값 타입

  • 기본 값 타입
    • 자바 기본 타입
    • 래퍼 클래스
    • String
  • 임베디드 타입 (복합 값 타입)
  • 컬렉션 값 타입

 

기본 값 타입

자바가 제공하는 기본 데이터 타입

기본 타입은 절대 공유되지 않으며, a=b로 선언 시 b의 값을 복사해서 a에 넣음

 

임베디드 타입 (복합 값 타입)

JPA에서 사용자가 직접 정의한 값 타입

임베디드 타입도 int, String처럼 값 타입임

하이버네이트는 임베디드 타입을 컴포넌트라 함

 

컬렉션 값 타입

하나 이상의 값 타입을 저장할 때 사용

값 타입 컬렉션은 영속성 전이 + 고아 객체 제거 기능을 필수로 가짐

 

 

엔티티 타입의 특징

  • 식별자가 있음
    • 엔티티 타입은 식별자가 있고 식별자로 구분할 수 있음
  • 생명 주기가 있음
    • 생성하고 영속화하고 소멸하는 생명 주기가 있음
    • em.persist()로 영속화
    • em.remove()로 제거
  • 공유할 수 있음
    • 참조 값을 공유할 수 있음 = 공유 참조
    • 다른 엔티티에서 얼마든지 회원 엔티티를 참조할 수 있음

 

값 타입의 특징

  • 식별자가 없음
  • 생명 주기를 엔티티에 의존
    • 스스로 생명주기를 가지지 않고 엔티티에 의존 
    • 의존하는 엔티티를 제거하면 같이 제거됨
  • 공유하지 않는 것이 안전
    • 엔티티 타입과는 다르게 공유하지 않는 것이 안전 -> 값을 복사해서 사용
    • 오직 하나의 주인만이 관리
    • 불변 객체로 만드는 것이 안전

'Backend > Spring Boot' 카테고리의 다른 글

[자바 ORM 표준 JPA 프로그래밍] 13장  (0) 2023.07.04
[자바 ORM 표준 JPA 프로그래밍] 10장  (0) 2023.05.30
[자바 ORM 표준 JPA 프로그래밍] 8장  (1) 2023.05.23
[자바 ORM 표준 JPA 프로그래밍] 7장  (0) 2023.05.23
[자바 ORM 표준 JPA 프로그래밍] 6장  (0) 2023.05.02
'Backend/Spring Boot' 카테고리의 다른 글
  • [자바 ORM 표준 JPA 프로그래밍] 13장
  • [자바 ORM 표준 JPA 프로그래밍] 10장
  • [자바 ORM 표준 JPA 프로그래밍] 8장
  • [자바 ORM 표준 JPA 프로그래밍] 7장
lim.dev
lim.dev
* 깃허브: https://github.com/Ellie010707
lim.dev
코딩림
lim.dev
전체
오늘
어제
  • 분류 전체보기 (205)
    • Network (6)
    • Backend (31)
      • Django (8)
      • Spring Boot (22)
    • Frontend (3)
    • Coding Test (107)
      • Python (93)
      • Java (1)
      • C_C#_C++ (4)
      • SQL (8)
    • Security (40)
      • 해커스쿨_FTZ (19)
      • VM (6)
      • CodeEngn (11)
      • Linux (4)
    • Project (2)
    • etc (12)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • abex
  • 리눅스마스터
  • ftz 풀이
  • CodeEngn
  • 해킹
  • 해커스쿨
  • linux
  • crackme
  • 리버서
  • ftz
  • ftz writeup
  • ftz풀이
  • 해커스쿨ftz
  • 리눅스
  • 코드엔진
  • stolenbyte
  • ftz write up
  • hacking
  • reversing
  • 리버싱

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.0
lim.dev
[자바 ORM 표준 JPA 프로그래밍] 9장
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.