일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- notification
- kafka
- 페이스북 번역
- nginx
- JPA
- php
- 성능
- Design Pattern
- 푸시
- graphql
- 도메인 주도 개발
- Push
- nginx설치
- ddd
- 웹사이트 성능
- APNS
- 디자인패턴
- GCM 번역
- 웹사이트성능
- git
- 푸시 번역
- 카프카 트랜잭션
- 웹사이트최적화기법
- 자바스크립트
- nginx설정
- GCM
- 카프카
- gcm 푸시 번역
- Java
Archives
- Today
- Total
간단한 개발관련 내용
9장 값타입 본문
반응형
9.1 기본값 타입
9.2 임베디드 타입(복합 값 타입)
- @Embeddable : 값 타입을 정의하는 곳에 표시
- 클래스 선언 위에
- @Embedded : 값 타입을 사용하는 곳에 표시
- 멤버변수에
- 임베디드 타입은 기본 생성자가 필수
<aside> 💡
하이버네이트는 임베디드 타입을 컴포넌트(components)라고 한다.
</aside>
9.2.1 임베디드 타입과 테이블 매핑
9.2.2 임베디드 타입과 연관관계
9.2.3 @AttributeOverride: 속성 재정의
- 같은 타입의 멤버변수가 @Embedded 될 때, @AttributeOverride를 사용
- @Embedded Address home, @Embedded Address company
9.2.4 임베디드 타입과 null
- 임베디드 타입이 null이면 매핑된 모든 값도 null
9.3 값 타입과 불변 객체
9.3.1 값 타입 공유 참조
9.3.2 갑 타입 복사
9.3.3 불변 객체
- 객체를 불변하게 만들면 값을 수정할 수 없으므로 부작용을 원천 차단할 수 있다. 따라서 값 타입은 될 수 있으면 불변 객체(immutable Object)로 설계해야 한다.
9.4 값 타입의 비교
- 동일성 비교
- 인스턴스의 참조 값을 비교 ==
- 동등성 비교
- 인스턴의 값을 비교 equals
<aside> 💡
자바에서 equals()를 재정의하면 hashCode()도 재정의하는 것이 안전하다. 그렇지 않으면 해시를 사용하는 컬렉션(HashSet, HashMap)이 정상 동작하지 않는다. 자바 IDE에는 대부분 equals(), hashCode() 메서드를 자동으로 생성해주는 기능이 있다.
</aside>
9.5 값 타입 컬렉션
9.5.1 값 타입 컬렉션 사용
9.5.2 값 타입 컬렉션의 제약사항
9.6 정리
- 엔터티 타입
- 값 타입
- 값 타입은 정말 값 타입이라 판단될 때만 사용해야 한다.
실전 예제 | 6. 값 타입 매핑
반응형