최대 절전 모드-O / R 매핑
지금까지 우리는 최대 절전 모드를 사용하는 매우 기본적인 O / R 매핑을 보았지만 가장 중요한 세 가지 매핑 주제가 있으며 자세히 배워야합니다.
이것들은-
- 컬렉션 매핑,
- 엔티티 클래스 간의 연결 매핑
- 구성 요소 매핑.
컬렉션 매핑
엔티티 또는 클래스에 특정 변수에 대한 값 모음이있는 경우 Java에서 사용할 수있는 모음 인터페이스 중 하나를 사용하여 해당 값을 매핑 할 수 있습니다. Hibernate는java.util.Map, java.util.Set, java.util.SortedMap, java.util.SortedSet, java.util.List, 및 array 영구 엔티티 또는 값.
Sr. 아니. | 컬렉션 유형 및 매핑 설명 |
---|---|
1 | java.util.Set
이것은 <set> 요소로 매핑되고 java.util.HashSet으로 초기화됩니다. |
2 | java.util.SortedSet
이것은 <set> 요소로 매핑되고 java.util.TreeSet으로 초기화됩니다. 그만큼sort 속성은 비교기 또는 자연 순서로 설정할 수 있습니다. |
삼 | java.util.List
이것은 <list> 요소로 매핑되고 java.util.ArrayList로 초기화됩니다. |
4 | java.util.Collection
이것은 <bag> 또는 <ibag> 요소로 매핑되고 java.util.ArrayList로 초기화됩니다. |
5 | java.util.Map
이것은 <map> 요소로 매핑되고 java.util.HashMap으로 초기화됩니다. |
6 | java.util.SortedMap
이것은 <map> 요소로 매핑되고 java.util.TreeMap으로 초기화됩니다. 그만큼sort 속성은 비교기 또는 자연 순서로 설정할 수 있습니다. |
배열은 자바 프리미티브 값 유형을위한 <primitive-array>와 다른 모든 것을위한 <array>를 사용하여 Hibernate에 의해 지원됩니다. 그러나 거의 사용되지 않으므로이 자습서에서는 설명하지 않겠습니다.
Hibernate에서 직접 지원하지 않는 사용자 정의 컬렉션 인터페이스를 매핑하려면 Hibernate에게 사용자 지정 컬렉션의 의미에 대해 알려야합니다. 이는 매우 쉽지 않으며 사용을 권장하지 않습니다.
연관 매핑
엔티티 클래스 간의 연결 매핑과 테이블 간의 관계는 ORM의 핵심입니다. 다음은 객체 간 관계의 카디널리티를 표현할 수있는 네 가지 방법입니다. 연관 매핑은 단방향 및 양방향 일 수 있습니다.
Sr. 아니. | 매핑 유형 및 설명 |
---|---|
1 | 다 대일
Hibernate를 사용하여 다 대일 관계 매핑 |
2 | 1-1
Hibernate를 사용하여 일대일 관계 매핑 |
삼 | 일대 다
Hibernate를 사용하여 일대 다 관계 매핑 |
4 | 다 대다
Hibernate를 사용하여 다 대다 관계 매핑 |
구성 요소 매핑
Entity 클래스는 멤버 변수로 다른 클래스에 대한 참조를 가질 수 있습니다. 참조 된 클래스에 자체 수명주기가없고 소유하는 엔티티 클래스의 수명주기에 완전히 의존하는 경우 참조 된 클래스를Component class.
구성 요소 모음의 매핑도 약간의 구성 차이가있는 일반 모음의 매핑과 유사한 방식으로 가능합니다. 이 두 가지 매핑을 예제와 함께 자세히 살펴 보겠습니다.
Sr. 아니. | 매핑 유형 및 설명 |
---|---|
1 | 구성 요소 매핑
멤버 변수로 다른 클래스에 대한 참조가있는 클래스에 대한 매핑. |