Spring

값 타입

codingtori 2025. 5. 18. 03:49

JPA의 데이터 타입

● 엔티티 타입 : @Entity로 정의하는 객체 / 식별자를 통해서 추적가능

● 값 타입 : int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체

    ○ 기본값 타입 - 자바 기본 타입, 래퍼 클래스

    ○ 임베디드 타입 : 새로운 값 타입을 직접 정의해서 사용 

                               기본 생성자 필수

@Embeddable //값 타입 정의하는 곳에 표시
@Embedded   //값 타입 사용하는 곳에 표시

 

@AttributeOverride : 임베디드 타입에 정의한 매핑정보를 재정의 (엔티티에 설정해야함)

 

임베디드 타입이 null이면 매핑한 컬럼 값은 모두 null이 된다.

 

직접 정의한 타입은 객체타입

 

값 타입 복사

- 객체 공유 참조는 막을 수가 없다. 따라서 객체의 값을 수정하지 못하게 막는 것 = 불변 객체 (한 번 만들면 절대 변경할 수 없는 객체)

 

    ○ 컬렉션 값 타입 

       - 영속성 전이(Cascade) + 고아 객체 제거 기능을 필수로 가짐

 

* 값 타입 컬렉션이 매핑된 테이블에 데이터가 많다면 값 타입 컬렉션 대신에 일대다 관계 고려 필요 * 

 


출처

https://product.kyobobook.co.kr/detail/S000000935744

 

자바 ORM 표준 JPA 프로그래밍 | 김영한 - 교보문고

자바 ORM 표준 JPA 프로그래밍 | 자바 ORM 표준 JPA는 SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 도와주고, 객체와 관계형 데이터베이스의 차이도 중간에서 해결해준다. 이 책은 JPA

product.kyobobook.co.kr

 

'Spring' 카테고리의 다른 글

객체 지향 쿼리 언어(1)  (0) 2025.05.25
길벗 코딩 자율 학습단 6주차  (0) 2025.05.25
길벗 코딩 자율 학습단 5주차  (0) 2025.05.14
프록시와 연관 관계 관리  (0) 2025.05.11
고급 매핑  (0) 2025.05.05