Hibernate.orgCommunity Documentation

HIBERNATE - Relational Persistence for Idiomatic Java

Hibernate Reference Documentation

3.6.10.Final

Legal Notice

February 8, 2012


前書き
1. Tutorial
1.1. パート1 - 初めての Hibernate アプリケーション
1.1.1. Setup
1.1.2. 最初のクラス
1.1.3. マッピングファイル
1.1.4. Hibernate の設定
1.1.5. Maven によるビルド
1.1.6. スタートアップとヘルパ
1.1.7. オブジェクトのロードと格納
1.2. パート2 - 関連のマッピング
1.2.1. Person クラスのマッピング
1.2.2. 単方向 Set ベース関連
1.2.3. 関連を働かせる
1.2.4. 値のコレクション
1.2.5. 双方向関連
1.2.6. 双方向リンクの動作
1.3. パート3 - EventManager Web アプリケーション
1.3.1. 基本的な Servlet の記述
1.3.2. 処理と描画
1.3.3. デプロイとテスト
1.4. 要約
2. アーキテクチャ
2.1. 概観
2.1.1. Minimal architecture
2.1.2. Comprehensive architecture
2.1.3. Basic APIs
2.2. JMX との統合
2.3. コンテキスト上のセッション
3. 設定
3.1. プログラム上の設定
3.2. SessionFactory を取得する
3.3. JDBC コネクション
3.4. オプション設定プロパティ
3.4.1. SQL 方言(Dialect)
3.4.2. 外部結合フェッチ
3.4.3. バイナリストリーム
3.4.4. ニ次キャッシュとクエリキャッシュ
3.4.5. クエリ言語の置き換え
3.4.6. Hibernate 統計
3.5. ロギング
3.6. NamingStrategy を選択
3.7. Implementing a PersisterClassProvider
3.8. XML 設定ファイル
3.9. Java EE Application Server integration
3.9.1. トランザクション戦略設定
3.9.2. SessionFactory の JNDI への登録
3.9.3. JTA による現在のセッションコンテキストマネージメント
3.9.4. JMX デプロイメント
4. 永続クラス
4.1. 単純な POJO の例
4.1.1. 引数のないコンストラクタを実装する
4.1.2. Provide an identifier property
4.1.3. Prefer non-final classes (semi-optional)
4.1.4. 永続フィールドに対するアクセサとミューテータを定義する(オプション)
4.2. 継承の実装
4.3. equals() と hashCode()の実装
4.4. 動的モデル
4.5. Tuplizer
4.6. EntityNameResolvers
5. 基本的な O/R マッピング
5.1. マッピング定義
5.1.1. Entity
5.1.2. Identifiers
5.1.3. Optimistic locking properties (optional)
5.1.4. property
5.1.5. Embedded objects (aka components)
5.1.6. Inheritance strategy
5.1.7. Mapping one to one and one to many associations
5.1.8. natural-id
5.1.9. Any
5.1.10. プロパティ
5.1.11. Some hbm.xml specificities
5.2. Hibernate の型
5.2.1. エンティティと値
5.2.2. 基本的な型
5.2.3. カスタム型
5.3. 1つのクラスに1つ以上のマッピング
5.4. バッククォートで囲んだ SQL 識別子
5.5. 生成プロパティ
5.6. Column transformers: read and write expressions
5.7. 補助的なデータベースオブジェクト
6. Types
6.1. Value types
6.1.1. Basic value types
6.1.2. Composite types
6.1.3. Collection types
6.2. Entity types
6.3. Significance of type categories
6.4. Custom types
6.4.1. Custom types using org.hibernate.type.Type
6.4.2. Custom types using org.hibernate.usertype.UserType
6.4.3. Custom types using org.hibernate.usertype.CompositeUserType
6.5. Type registry
7. コレクションのマッピング
7.1. コレクションの永続化
7.2. How to map collections
7.2.1. コレクションの外部キー
7.2.2. インデックス付きのコレクション
7.2.3. Collections of basic types and embeddable objects
7.3. 高度なコレクションマッピング
7.3.1. ソートされたコレクション
7.3.2. 双方向関連
7.3.3. インデックス付きコレクションと双方向関連
7.3.4. 3項関連
7.3.5. Using an <idbag>
7.4. コレクションの例
8. 関連マッピング
8.1. イントロダクション
8.2. 単方向関連
8.2.1. Many-to-one
8.2.2. One-to-one
8.2.3. One-to-many
8.3. 結合テーブルを使った単方向関連
8.3.1. One-to-many
8.3.2. Many-to-one
8.3.3. One-to-one
8.3.4. Many-to-many
8.4. 双方向関連
8.4.1. 一対多/多対一
8.4.2. One-to-one
8.5. 結合テーブルを使った双方向関連
8.5.1. 一対多/多対一
8.5.2. 一対一
8.5.3. Many-to-many
8.6. より複雑な関連マッピング
9. コンポーネントのマッピング
9.1. 依存オブジェクト
9.2. 従属するオブジェクトのコレクション
9.3. Map のインデックスとしてのコンポーネント
9.4. 複合識別子としてのコンポーネント
9.5. 動的コンポーネント
10. 継承マッピング
10.1. 3つの戦略
10.1.1. クラス階層ごとのテーブル(table-per-class-hierarchy)
10.1.2. サブクラスごとのテーブル (table-per-subclass)
10.1.3. discriminator を用いた table-per-subclass
10.1.4. table-per-subclass と table-per-class-hierarchy の混合
10.1.5. 具象クラスごとのテーブル(table-per-concrete-class)
10.1.6. 暗黙的ポリモーフィズムを用いた table-per-concrete-class
10.1.7. 他の継承マッピングと暗黙的ポリモーフィズムの組み合わせ
10.2. 制限
11. オブジェクトを扱う
11.1. Hibernate におけるオブジェクトの状態
11.2. オブジェクトを永続状態にする
11.3. オブジェクトのロード
11.4. クエリ
11.4.1. クエリの実行
11.4.2. フィルタリングコレクション
11.4.3. クライテリアのクエリ
11.4.4. ネイティブ SQL のクエリ
11.5. 永続オブジェクトの修正
11.6. detached オブジェクトの修正
11.7. 自動的な状態検出
11.8. 永続オブジェクトの削除
11.9. 異なる二つのデータストア間でのオブジェクトのレプリケーション
11.10. セッションのフラッシュ
11.11. 連鎖的な永続化
11.12. メタデータの使用
12. Read-only entities
12.1. Making persistent entities read-only
12.1.1. Entities of immutable classes
12.1.2. Loading persistent entities as read-only
12.1.3. Loading read-only entities from an HQL query/criteria
12.1.4. Making a persistent entity read-only
12.2. Read-only affect on property type
12.2.1. Simple properties
12.2.2. Unidirectional associations
12.2.3. Bidirectional associations
13. Transactions and Concurrency
13.1. session スコープと transaction スコープ
13.1.1. 作業単位(Unit of work)
13.1.2. 長い対話
13.1.3. オブジェクト識別子を考える
13.1.4. 一般的な問題
13.2. データベーストランザクション境界
13.2.1. 管理されていない環境
13.2.2. JTA を使用する
13.2.3. 例外ハンドリング
13.2.4. トランザクションのタイムアウト
13.3. 楽観的同時実行制御
13.3.1. アプリケーションによるバージョンチェック
13.3.2. 拡張セッションと自動バージョニング
13.3.3. デタッチされたオブジェクトと自動バージョニング
13.3.4. 自動バージョニングのカスタマイズ
13.4. 悲観的ロック
13.5. コネクション開放モード
14. インターセプタとイベント
14.1. インターセプタ
14.2. イベントシステム
14.3. Hibernate の宣言的なセキュリティ
15. バッチ処理
15.1. バッチ挿入
15.2. バッチ更新
15.3. StatelessSession インターフェース
15.4. DML スタイルの操作
16. HQL: Hibernate クエリ言語
16.1. 大文字と小文字の区別
16.2. from 節
16.3. 関連と結合
16.4. 結合構文の形式
16.5. 識別子プロパティの参照
16.6. Select 節
16.7. 集約関数
16.8. ポリモーフィズムを使ったクエリ
16.9. where 節
16.10. Expressions 式
16.11. order by 節
16.12. group by 節
16.13. 副問い合わせ
16.14. HQL の例
16.15. 大量の UPDATE と DELETE
16.16. Tips & Tricks
16.17. コンポーネント
16.18. 行値コンストラクタ構文
17. Criteria クエリ
17.1. Criteria インスタンスの作成
17.2. リザルトセットの絞込み
17.3. 結果の整列
17.4. 関連
17.5. 関連の動的フェッチ
17.6. クエリの例
17.7. 射影、集約、グループ化
17.8. クエリおよびサブクエリの分離
17.9. 自然識別子によるクエリ
18. ネイティブ SQL
18.1. Using a SQLQuery
18.1.1. スカラーのクエリ
18.1.2. エンティティのクエリ
18.1.3. 関連とコレクションの操作
18.1.4. 複数エンティティの取得
18.1.5. 管理されていないエンティティの取得
18.1.6. 継承の制御
18.1.7. パラメータ
18.2. 名前付き SQL クエリ
18.2.1. 列と列の別名を明示的に指定するために return-property を使う
18.2.2. 問い合わせするためにストアドプロシージャを使う
18.3. 作成、更新、削除のためのカスタム SQL
18.4. ロードのためのカスタム SQL
19. データのフィルタリング
19.1. Hibernate のフィルタ
20. XML マッピング
20.1. XML データでの作業
20.1.1. XML とクラスのマッピングを同時に指定する
20.1.2. XML マッピングだけを指定する
20.2. XML マッピングのメタデータ
20.3. XML データを扱う
21. パフォーマンスの改善
21.1. フェッチ戦略
21.1.1. 遅延関連の働き
21.1.2. フェッチ戦略のチューニング
21.1.3. 単一端関連プロキシ
21.1.4. コレクションとプロキシの初期化
21.1.5. バッチフェッチの使用
21.1.6. サブセレクトフェッチの使用
21.1.7. Fetch profiles
21.1.8. 遅延プロパティフェッチの使用
21.2. 第2レベルキャッシュ
21.2.1. キャッシュのマッピング
21.2.2. read only 戦略
21.2.3. read/write 戦略
21.2.4. 厳密ではない read/write 戦略
21.2.5. transactional 戦略
21.2.6. Cache-provider/concurrency-strategy compatibility
21.3. キャッシュの管理
21.4. クエリキャッシュ
21.4.1. Enabling query caching
21.4.2. Query cache regions
21.5. コレクションのパフォーマンスの理解
21.5.1. 分類
21.5.2. 更新にもっとも効率的なコレクション list、map、idbag、set
21.5.3. inverse コレクションにもっとも最適な bag と list
21.5.4. 一括削除
21.6. パフォーマンスのモニタリング
21.6.1. SessionFactory のモニタリング
21.6.2. メトリクス
22. ツールセットガイド
22.1. スキーマの自動生成
22.1.1. スキーマのカスタマイズ
22.1.2. ツールの実行
22.1.3. プロパティ
22.1.4. Ant を使用する
22.1.5. インクリメンタルなスキーマ更新
22.1.6. インクリメンタルなスキーマ更新に対する Ant の使用
22.1.7. Schema validation
22.1.8. スキーマのバリデーションに Ant を使用します
23. Additional modules
23.1. Bean Validation
23.1.1. Adding Bean Validation
23.1.2. Configuration
23.1.3. Catching violations
23.1.4. Database schema
23.2. Hibernate Search
23.2.1. Description
23.2.2. Integration with Hibernate Annotations
24. 例: 親/子供
24.1. コレクションに関する注意
24.2. 双方向一対多
24.3. ライフサイクルのカスケード
24.4. カスケードと unsaved-value
24.5. 結論
25. 例: Weblog アプリケーション
25.1. 永続クラス
25.2. Hibernate のマッピング
25.3. Hibernate のコード
26. 例: いろいろなマッピング
26.1. 雇用者/従業員
26.2. 作者/作品
26.3. 顧客/注文/製品
26.4. 種々雑多なマッピング例
26.4.1. 「型付けされた」一対一関連
26.4.2. 複合キーの例
26.4.3. 複合キー属性を共有する多対多
26.4.4. discrimination に基づく内容
26.4.5. 代替キーの関連
27. ベストプラクティス
28. Database Portability Considerations
28.1. Portability Basics
28.2. Dialect
28.3. Dialect resolution
28.4. Identifier generation
28.5. Database functions
28.6. Type mappings
References