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 |