Hibernate.orgCommunity Documentation

HIBERNATE - Relational Persistence for Idiomatic Java

Hibernate Reference Documentation

3.5.6-Final

Legal Notice

September 15, 2010


前書き
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.2. インスタンスの状態
2.3. JMX との統合
2.4. JCA サポート
2.5. コンテキスト上のセッション
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. 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(オプション)
5.1.10. timestamp(オプション)
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. プロパティ
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 と formula 要素
5.1.23. Import
5.1.24. Any
5.2. Hibernate の型
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. 生成プロパティ
5.7. Column read and write expressions
5.8. 補助的なデータベースオブジェクト
6. コレクションのマッピング
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. Using an <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. 一対多/多対一
7.4.2. One-to-one
7.5. 結合テーブルを使った双方向関連
7.5.1. 一対多/多対一
7.5.2. 一対一
7.5.3. Many-to-many
7.6. より複雑な関連マッピング
8. コンポーネントのマッピング
8.1. 依存オブジェクト
8.2. 従属するオブジェクトのコレクション
8.3. Map のインデックスとしてのコンポーネント
8.4. 複合識別子としてのコンポーネント
8.5. 動的コンポーネント
9. 継承マッピング
9.1. 3つの戦略
9.1.1. クラス階層ごとのテーブル(table-per-class-hierarchy)
9.1.2. サブクラスごとのテーブル (table-per-subclass)
9.1.3. discriminator を用いた table-per-subclass
9.1.4. table-per-subclass と table-per-class-hierarchy の混合
9.1.5. 具象クラスごとのテーブル(table-per-concrete-class)
9.1.6. 暗黙的ポリモーフィズムを用いた table-per-concrete-class
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. detached オブジェクトの修正
10.7. 自動的な状態検出
10.8. 永続オブジェクトの削除
10.9. 異なる二つのデータストア間でのオブジェクトのレプリケーション
10.10. セッションのフラッシュ
10.11. 連鎖的な永続化
10.12. メタデータの使用
11. Read-only entities
11.1. Making persistent entities read-only
11.1.1. Entities of immutable classes
11.1.2. Loading persistent entities as read-only
11.1.3. Loading read-only entities from an HQL query/criteria
11.1.4. Making a persistent entity read-only
11.2. Read-only affect on property type
11.2.1. Simple properties
11.2.2. Unidirectional associations
11.2.3. Bidirectional associations
12. Transactions and Concurrency
12.1. session スコープと transaction スコープ
12.1.1. 作業単位(Unit of work)
12.1.2. 長い対話
12.1.3. オブジェクト識別子を考える
12.1.4. 一般的な問題
12.2. データベーストランザクション境界
12.2.1. 管理されていない環境
12.2.2. JTA を使用する
12.2.3. 例外ハンドリング
12.2.4. トランザクションのタイムアウト
12.3. 楽観的同時実行制御
12.3.1. アプリケーションによるバージョンチェック
12.3.2. 拡張セッションと自動バージョニング
12.3.3. デタッチされたオブジェクトと自動バージョニング
12.3.4. 自動バージョニングのカスタマイズ
12.4. 悲観的ロック
12.5. コネクション開放モード
13. インターセプタとイベント
13.1. インターセプタ
13.2. イベントシステム
13.3. Hibernate の宣言的なセキュリティ
14. バッチ処理
14.1. バッチ挿入
14.2. バッチ更新
14.3. StatelessSession インターフェース
14.4. DML スタイルの操作
15. HQL: Hibernate クエリ言語
15.1. 大文字と小文字の区別
15.2. from 節
15.3. 関連と結合
15.4. 結合構文の形式
15.5. 識別子プロパティの参照
15.6. Select 節
15.7. 集約関数
15.8. ポリモーフィズムを使ったクエリ
15.9. where 節
15.10. Expressions 式
15.11. order by 節
15.12. group by 節
15.13. 副問い合わせ
15.14. HQL の例
15.15. 大量の UPDATE と DELETE
15.16. Tips & Tricks
15.17. コンポーネント
15.18. 行値コンストラクタ構文
16. Criteria クエリ
16.1. Criteria インスタンスの作成
16.2. リザルトセットの絞込み
16.3. 結果の整列
16.4. 関連
16.5. 関連の動的フェッチ
16.6. クエリの例
16.7. 射影、集約、グループ化
16.8. クエリおよびサブクエリの分離
16.9. 自然識別子によるクエリ
17. ネイティブ SQL
17.1. Using a SQLQuery
17.1.1. スカラーのクエリ
17.1.2. エンティティのクエリ
17.1.3. 関連とコレクションの操作
17.1.4. 複数エンティティの取得
17.1.5. 管理されていないエンティティの取得
17.1.6. 継承の制御
17.1.7. パラメータ
17.2. 名前付き SQL クエリ
17.2.1. 列と列の別名を明示的に指定するために return-property を使う
17.2.2. 問い合わせするためにストアドプロシージャを使う
17.3. 作成、更新、削除のためのカスタム SQL
17.4. ロードのためのカスタム SQL
18. データのフィルタリング
18.1. Hibernate のフィルタ
19. XML マッピング
19.1. XML データでの作業
19.1.1. XML とクラスのマッピングを同時に指定する
19.1.2. XML マッピングだけを指定する
19.2. XML マッピングのメタデータ
19.3. XML データを扱う
20. パフォーマンスの改善
20.1. フェッチ戦略
20.1.1. 遅延関連の働き
20.1.2. フェッチ戦略のチューニング
20.1.3. 単一端関連プロキシ
20.1.4. コレクションとプロキシの初期化
20.1.5. バッチフェッチの使用
20.1.6. サブセレクトフェッチの使用
20.1.7. Fetch profiles
20.1.8. 遅延プロパティフェッチの使用
20.2. 第2レベルキャッシュ
20.2.1. キャッシュのマッピング
20.2.2. read only 戦略
20.2.3. read/write 戦略
20.2.4. 厳密ではない read/write 戦略
20.2.5. transactional 戦略
20.2.6. Cache-provider/concurrency-strategy compatibility
20.3. キャッシュの管理
20.4. クエリキャッシュ
20.4.1. Enabling query caching
20.4.2. Query cache regions
20.5. コレクションのパフォーマンスの理解
20.5.1. 分類
20.5.2. 更新にもっとも効率的なコレクション list、map、idbag、set
20.5.3. inverse コレクションにもっとも最適な bag と list
20.5.4. 一括削除
20.6. パフォーマンスのモニタリング
20.6.1. SessionFactory のモニタリング
20.6.2. メトリクス
21. ツールセットガイド
21.1. スキーマの自動生成
21.1.1. スキーマのカスタマイズ
21.1.2. ツールの実行
21.1.3. プロパティ
21.1.4. Ant を使用する
21.1.5. インクリメンタルなスキーマ更新
21.1.6. インクリメンタルなスキーマ更新に対する Ant の使用
21.1.7. Schema validation
21.1.8. スキーマのバリデーションに Ant を使用します
22. 例: 親/子供
22.1. コレクションに関する注意
22.2. 双方向一対多
22.3. ライフサイクルのカスケード
22.4. カスケードと unsaved-value
22.5. 結論
23. 例: Weblog アプリケーション
23.1. 永続クラス
23.2. Hibernate のマッピング
23.3. Hibernate のコード
24. 例: いろいろなマッピング
24.1. 雇用者/従業員
24.2. 作者/作品
24.3. 顧客/注文/製品
24.4. 種々雑多なマッピング例
24.4.1. 「型付けされた」一対一関連
24.4.2. 複合キーの例
24.4.3. 複合キー属性を共有する多対多
24.4.4. discrimination に基づく内容
24.4.5. 代替キーの関連
25. ベストプラクティス
26. Database Portability Considerations
26.1. Portability Basics
26.2. Dialect
26.3. Dialect resolution
26.4. Identifier generation
26.5. Database functions
26.6. Type mappings
References