티스토리 뷰

728x90
반응형
엔티티 타입
  • @Entity로 정의하는 객체
  • 데이터가 변해도 식별자로 지속해서 추적가능
  • 예) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능
식별자로 지속 추적 가능하다는 의미란?
MemberVO memberVO = new MemberVO();

//member 클래스 인스턴스
private Long id; //식별자 
private String name; //이름
private int age; //나이

// memeber 안에 식별자,나이,이름 존재한다하였을 경우
// 나이와 이름 값이 변경이 되어도 식별자는 변경되지 않는 값이므로 수정된 값을 찾을 수 있음을 의미

 

값 타입
  • int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체
  • 식별자가 없고 값만 있으므로 변경시 추적 불가
  • 예) 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체
식별자가 없고 값만 있으므로 변경시 추적 불가란?
int name = '홍길동' -> '길동이'
int age = 10 -> 20
//이렇게 바뀌게 된다면 식별자가 없고 단순 값으로 인식하기 때문에 변경되게 되면 추적이 불가능하다.
값 타입 분류
  •  기본값 타입
  •  자바 기본 타입(int, double)
  •  래퍼 클래스(Integer, Long)
  •  String
  •  임베디드 타입(embedded type, 복합 값 타입)
  •  컬렉션 값 타입(collection value type
기본값 타입
  • 예): String name, int age
  • 생명주기를 엔티티의 의존
    • 예) 회원을 삭제하면 이름,나이 필드도 함께 삭제
  • 값 타입은 공유하면 X
    • 예) 회원 이름 변경시 다른 회원의 이름도 함께 변경되면 안됨
    • int ,double 같은 기본 타입은 절대 공유X
    • 기본 타입은 항상 값을 복사함
    • Integer같은 래퍼 클래스나 String 같은 특수한 클래스는 공유 가능한 객체이지만 변경 X
728x90
반응형

'프로그램 언어 > Spring JPA' 카테고리의 다른 글

Spring-JPA Repository 공통 인터페이스 사용법  (0) 2023.06.22
기본값 타입 (임베디드 타입)  (0) 2023.05.01
영속성 전이(CASCADE)  (0) 2023.04.28
지연 로딩, 즉시로딩  (0) 2023.04.28
PROXY(프록시)  (0) 2023.04.28
250x250
반응형
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함