Anyframe Hibernate Plugin

Version 1.0.2

본 문서의 저작권은 삼성SDS에 있으며 Anyframe 오픈소스 커뮤니티 활동의 목적하에서 자유로운 이용이 가능합니다. 본 문서를 복제, 배포할 경우에는 저작권자를 명시하여 주시기 바라며 본 문서를 변경하실 경우에는 원문과 변경된 내용을 표시하여 주시기 바랍니다. 원문과 변경된 문서에 대한 상업적 용도의 활용은 허용되지 않습니다. 본 문서에 오류가 있다고 판단될 경우 이슈로 등록해 주시면 적절한 조치를 취하도록 하겠습니다.


I. Introduction
II. Hibernate
1. Configuration
1.1. DataSource 속성 정의
1.2. Generated SQL 속성 정의
1.3. Cache 속성 정의
1.4. Logging 속성 정의
1.5. 기타 속성 정의
1.6. 매핑 파일 정의
2. Mapping File
2.1. Mapping File의 작성
2.1.1. Mapping File 구성
2.2. Data Type의 매핑
2.2.1. Data Type의 매핑
2.3. Hibernate Generator
2.3.1. Hibernate 기본 Id Generator
2.3.2. 직접생성
3. Persistence Mapping
3.1. Persistence Mapping - Association
3.1.1. One to One Mapping
3.1.2. One to Many Mapping
3.1.3. Many to Many Mapping
3.2. Persistence Mapping - Inheritance
3.2.1. Table per Class Hierarchy
3.2.2. Table per Subclass
3.2.3. Table per Concrete Class
4. Basic CRUD
4.1. 단건 조회
4.2. 단건 저장
4.2.1. Tip. A:B=1:m인 경우 A에 대한 save()
4.3. 단건 수정
4.4. 단건 저장 또는 수정
4.5. 단건 삭제
4.6. 복수건 저장
5. HQL(Hibernate Query Language)
5.1. 구성 요소
5.1.1. [선택] SELECT 절
5.1.2. [필수] FROM 절
5.1.3. [선택] WHERE 절
5.1.4. [선택] ORDER BY 절
5.1.5. [선택] GROUP BY 절
5.2. 기본적인 사용 방법
5.2.1. Case 1. Basic
5.2.2. Case 2. Join
5.3. 원하는 객체 형태로 전달
5.3.1. Case 1. 특정 객체 형태로 전달
5.3.2. Case 2. Map 형태로 전달
5.3.3. Case 3. List 형태로 전달
5.4. XML에 HQL 정의하여 사용
5.5. Pagination
5.6. HQL을 이용한 CUD
5.6.1. 등록 (Insert)
5.6.2. 수정 (Update)
5.6.3. 삭제 (Delete)
6. Criteria Queries
6.1. 기본적인 사용 방법
6.1.1. Case 1. Basic
6.1.2. Case 2. Join
6.2. 원하는 객체 형태로 전달
6.2.1. Case 1. 특정 객체 형태로 전달
6.2.2. Case 2. Map 형태로 전달
6.3. Pagination
7. Native SQL
7.1. 기본적인 사용 방법
7.1.1. Case 1. Basic
7.1.2. Case 2. Join
7.1.3. Case 3. 검색 조건 명시
7.2. XML에 Native SQL 정의하여 사용
7.3. Pagination
7.4. Callable Statement
7.4.1. Case 1. XML에 정의한 Procedure 호출
7.4.2. Case 2. Function을 이용한 HQL 실행
8. Performance Strategy
8.1. Cache
8.1.1. 1LC (1 Level Cache)
8.1.2. 2LC (2 Level Cache)
8.1.3. 분산 Cache
8.2. Fetch Strategy
8.2.1. Batch를 이용하여 데이터 조회
8.2.2. Sub-Query를 이용하여 데이터 조회
8.2.3. join fetch를 이용하여 데이터 한꺼번에 조회
9. Concurrency
9.1. Optimistic Locking
9.2. Pessimistic Locking
9.3. Offline Locking
10. Transaction Management
10.1. JDBC - HibernateTransactionManager
10.2. JTA - JTATransactionManager
11. Spring Integration
11.1. Hibernate 속성 정의 파일 작성
11.1.1. Session Factory 속성 정의
11.1.2. Dynamic HQL, Dynamic Native SQL 실행을 위한 DynamicHibernateService 속성 정의
11.2. Mapping XML 파일 작성
11.3. DAO 클래스 생성
11.3.1. DAO 속성 정의 파일 작성
11.3.2. DAO 클래스 개발
11.4. Test Code 작성
11.5. 선언적인 트랜잭션 관리
III. Dynamic Hibernate
12. Configuration
13. Dynamic HQL(Hibernate Query Language)
14. Dynamic Native SQL
IV. Sample Download
15. Resources