일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- GCM
- ddd
- 웹사이트 성능
- kafka
- nginx
- Push
- 푸시 번역
- graphql
- JPA
- GCM 번역
- nginx설치
- APNS
- nginx설정
- 디자인패턴
- 카프카
- 카프카 트랜잭션
- php
- git
- notification
- 자바스크립트
- Design Pattern
- 웹사이트최적화기법
- 푸시
- 웹사이트성능
- 성능
- 도메인 주도 개발
- 페이스북 번역
- 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. 값 타입 매핑
반응형