Hibernate.orgCommunity Documentation

HIBERNATE - Relational Persistence for Idiomatic Java

Hibernate Reference Documentation

3.3.2.GA

Legal Notice

June 24, 2009


前書き
1. Feedback
1. Tutorial
1.1. パート1 - 初めてのHibernateアプリケーション
1.1.1. Setup
1.1.2. 最初のクラス
1.1.3. マッピングファイル
1.1.4. Hibernateの設定
1.1.5. Building with 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.2. インスタンスの状態
2.3. JMXとの統合
2.4. JCA サポート
2.5. Contextual sessions
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. 2次キャッシュとクエリーキャッシュ
3.4.5. クエリー言語の置き換え
3.4.6. Hibernate 統計
3.5. ロギング
3.6. NamingStrategy の実装
3.7. XML設定ファイル
3.8. J2EEアプリケーションサーバとの統合
3.8.1. トランザクション戦略設定
3.8.2. SessionFactory のJNDIへの登録
3.8.3. JTAによる現在のセッションコンテキストマネージメント
3.8.4. JMXデプロイメント
4. 永続クラス
4.1. 単純なPOJOの例
4.1.1. 引数のないコンストラクタを実装する
4.1.2. 識別子プロパティを用意する(オプション)
4.1.3. finalクラスにしない(オプション)
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. Doctype
5.1.2. Hibernate-mapping
5.1.3. Class
5.1.4. id
5.1.5. Enhanced identifier generators
5.1.6. Identifier generator optimization
5.1.7. composite-id
5.1.8. Discriminator
5.1.9. Version (optional)
5.1.10. Timestamp (optional)
5.1.11. Property
5.1.12. Many-to-one
5.1.13. One-to-one
5.1.14. Natural-id
5.1.15. Component and dynamic-component
5.1.16. Properties
5.1.17. Subclass
5.1.18. Joined-subclass
5.1.19. Union-subclass
5.1.20. Join
5.1.21. Key
5.1.22. Column and formula elements
5.1.23. Import
5.1.24. Any
5.2. Hibernate types
5.2.1. エンティティと値
5.2.2. 基本的な型
5.2.3. カスタム型
5.3. 1つのクラスに1つ以上のマッピング
5.4. バッククォートで囲んだ SQL 識別子
5.5. メタデータの代替手段
5.5.1. XDoclet マークアップの使用
5.5.2. JDK 5.0 アノテーションの使用
5.6. Generated properties
5.7. Auxiliary database objects
6. Collection mapping
6.1. コレクションの永続化
6.2. コレクションのマッピング
6.2.1. コレクションの外部キー
6.2.2. コレクションの要素
6.2.3. インデックス付きのコレクション
6.2.4. 値のコレクションと多対多関連
6.2.5. 一対多関連
6.3. 高度なコレクション・マッピング
6.3.1. ソートされたコレクション
6.3.2. 双方向関連
6.3.3. インデックス付きコレクションと双方向関連
6.3.4. 3項関連
6.3.5. <idbag>の使用
6.4. コレクションの例
7. 関連マッピング
7.1. イントロダクション
7.2. 単方向関連
7.2.1. Many-to-one
7.2.2. One-to-one
7.2.3. One-to-many
7.3. 結合テーブルを使った単方向関連
7.3.1. One-to-many
7.3.2. Many-to-one
7.3.3. One-to-one
7.3.4. Many-to-many
7.4. 双方向関連
7.4.1. one-to-many / many-to-one
7.4.2. One-to-one
7.5. 結合テーブルを使った双方向関連
7.5.1. one-to-many / many-to-one
7.5.2. 一対一
7.5.3. Many-to-many
7.6. より複雑な関連マッピング
8. コンポーネントのマッピング
8.1. 依存オブジェクト
8.2. 従属するオブジェクトのコレクション
8.3. Mapのインデックスとしてのコンポーネント
8.4. 複合識別子としてのコンポーネント
8.5. 動的コンポーネント
9. Inheritance mapping
9.1. The three strategies
9.1.1. クラス階層ごとのテーブル(table-per-class-hierarchy)
9.1.2. サブクラスごとのテーブル(table-per-subclass)
9.1.3. Table per subclass: using a discriminator
9.1.4. table-per-subclass と table-per-class-hierarchy の混合
9.1.5. 具象クラスごとのテーブル(table-per-concrete-class)
9.1.6. Table per concrete class using implicit polymorphism
9.1.7. 他の継承マッピングと暗黙的ポリモーフィズムの組み合わせ
9.2. 制限
10. オブジェクトを扱う
10.1. Hibernateにおけるオブジェクトの状態
10.2. オブジェクトを永続状態にする
10.3. オブジェクトのロード
10.4. クエリ
10.4.1. クエリの実行
10.4.2. コレクションのフィルタリング
10.4.3. クライテリアのクエリ
10.4.4. ネイティブSQLのクエリ
10.5. 永続オブジェクトの修正
10.6. 分離オブジェクトの修正
10.7. 自動的な状態検出
10.8. 永続オブジェクトの削除
10.9. 異なる二つのデータストア間でのオブジェクトのレプリケーション
10.10. セッションのフラッシュ
10.11. 連鎖的な永続化
10.12. メタデータの使用
11. Transactions and Concurrency
11.1. sessionスコープとtransactionスコープ
11.1.1. 作業単位(Unit of work)
11.1.2. 長い対話
11.1.3. オブジェクト識別子を考える
11.1.4. 一般的な問題
11.2. データベーストランザクション境界
11.2.1. 管理されていない環境
11.2.2. JTAを使用する
11.2.3. 例外ハンドリング
11.2.4. トランザクションのタイムアウト
11.3. 楽観的同時実行制御
11.3.1. アプリケーションによるバージョンチェック
11.3.2. 拡張セッションと自動バージョニング
11.3.3. デタッチされたオブジェクトと自動バージョニング
11.3.4. 自動バージョニングのカスタマイズ
11.4. Pessimistic locking
11.5. Connection release modes
12. インターセプタとイベント
12.1. インターセプタ
12.2. イベントシステム
12.3. Hibernateの宣言的なセキュリティ
13. バッチ処理
13.1. バッチ挿入
13.2. バッチ更新
13.3. StatelessSessionインターフェイス
13.4. DMLスタイルの操作
14. HQL: The Hibernate Query Language
14.1. 大文字と小文字の区別
14.2. from節
14.3. 関連と結合
14.4. 結合構文の形式
14.5. Referring to identifier property
14.6. Select節
14.7. 集約関数
14.8. ポリモーフィックなクエリ
14.9. where節
14.10. Expressions 式
14.11. order by節
14.12. group by節
14.13. 副問い合わせ
14.14. HQLの例
14.15. 大量のUPDATEとDELETE
14.16. Tips & Tricks
14.17. translator-credits
14.18. Row value constructor syntax
15. Criteriaクエリ
15.1. Criteria インスタンスの作成
15.2. リザルトセットの絞込み
15.3. 結果の整列
15.4. 関連
15.5. 関連の動的フェッチ
15.6. クエリの例
15.7. 射影、集約、グループ化
15.8. クエリおよびサブクエリの分離
15.9. 自然識別子によるクエリ
16. ネイティブSQL
16.1. SQLQuery の使用
16.1.1. スカラーのクエリ
16.1.2. エンティティのクエリ
16.1.3. 関連とコレクションの操作
16.1.4. 複数エンティティの取得
16.1.5. 管理されていないエンティティの取得
16.1.6. 継承の制御
16.1.7. パラメータ
16.2. 名前付きSQLクエリ
16.2.1. 列と列の別名を明示的に指定するために return-property を使う
16.2.2. 問い合わせするためにストアドプロシージャを使う
16.3. 作成、更新、削除のためのカスタムSQL
16.4. ロードのためのカスタムSQL
17. データのフィルタリング
17.1. Hibernateのフィルタ
18. XMLマッピング
18.1. XMLデータでの作業
18.1.1. XMLとクラスのマッピングを同時に指定する
18.1.2. XMLマッピングだけを指定する
18.2. XMLマッピングのメタデータ
18.3. XMLデータを扱う
19. パフォーマンスの改善
19.1. フェッチ戦略
19.1.1. 遅延関連の働き
19.1.2. フェッチ戦略のチューニング
19.1.3. 単一端関連プロキシ
19.1.4. コレクションとプロキシの初期化
19.1.5. バッチフェッチの使用
19.1.6. サブセレクトフェッチの使用
19.1.7. 遅延プロパティフェッチの使用
19.2. 第2レベルキャッシュ
19.2.1. キャッシュのマッピング
19.2.2. read only戦略
19.2.3. read/write戦略
19.2.4. 厳密ではないread/write戦略
19.2.5. transactional戦略
19.2.6. Cache-provider/concurrency-strategy compatibility
19.3. キャッシュの管理
19.4. クエリキャッシュ
19.5. コレクションのパフォーマンスの理解
19.5.1. 分類
19.5.2. 更新にもっとも効率的なコレクション list、map、idbag、set
19.5.3. inverseコレクションにもっとも最適なbagとlist
19.5.4. 一括削除
19.6. パフォーマンスのモニタリング
19.6.1. SessionFactoryのモニタリング
19.6.2. メトリクス
20. Toolset Guide ツールセットガイド
20.1. スキーマの自動生成
20.1.1. スキーマのカスタマイズ
20.1.2. ツールの実行
20.1.3. プロパティ
20.1.4. Antを使用する
20.1.5. インクリメンタルなスキーマ更新
20.1.6. インクリメンタルなスキーマ更新に対するAntの使用
20.1.7. Schema validation
20.1.8. スキーマのバリデーションにAntを使用します
21. 例:親/子供
21.1. コレクションに関する注意
21.2. 双方向一対多
21.3. ライフサイクルのカスケード
21.4. カスケードと unsaved-value
21.5. 結論
22. 例: Weblogアプリケーション
22.1. 永続クラス
22.2. Hibernateのマッピング
22.3. Hibernateのコード
23. 例:いろいろなマッピング
23.1. 雇用者/従業員
23.2. 作者/作品
23.3. 顧客/注文/製品
23.4. 種々雑多なマッピング例
23.4.1. 「型付けされた」一対一関連
23.4.2. 複合キーの例
23.4.3. 複合キー属性を共有する多対多
23.4.4. discriminationに基づく内容
23.4.5. 代替キーの関連
24. ベストプラクティス
25. Database Portability Considerations
25.1. Portability Basics
25.2. Dialect
25.3. Dialect resolution
25.4. Identifier generation
25.5. Database functions
25.6. Type mappings
References