ヘッダーをスキップ
Oracle® Fusion Middleware Oracle TopLinkの理解
12
c
(12.1.2)
E48006-01
ライブラリ
製品
次
目次
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
関連ドキュメント
表記規則
1
Oracle TopLinkの概要
1.1
TopLinkの理解
1.1.1
オブジェクトと永続データのインピーダンス・ミスマッチとは
1.1.2
EclipseLinkのソリューション
1.2
主要機能
1.3
新機能
1.3.1
RESTfulサービス
1.3.2
テナント分離
1.3.3
NoSQL
1.3.4
JSON
1.3.5
データベース変更通知
1.3.6
拡張可能なエンティティ
1.3.7
コンポジット永続性ユニット
1.3.8
外部メタデータ・ソース
1.3.9
TopLink Grid
1.4
主要概念
1.4.1
EclipseLinkメタデータ
1.4.2
エンティティ
1.4.3
ディスクリプタ
1.4.4
マッピング
1.4.5
データ・アクセス
1.4.6
キャッシュ
1.4.7
問合せ
1.4.8
式フレームワーク
1.4.9
NoSQLデータベース
1.4.10
パフォーマンスの監視およびプロファイリング
1.5
主要コンポーネント
1.5.1
EclipseLink CoreおよびAPI
1.5.2
オブジェクト・リレーショナル(JPA 2.0)・コンポーネント
1.5.3
Object-XML (JAXB 2.2)コンポーネント
1.5.3.1
SDOコンポーネント
1.5.4
データベースWebサービス・コンポーネント
1.5.5
TopLink Grid
1.6
主要ツール
1.6.1
Oracle JDeveloper
1.6.2
Oracle Enterprise Pack for Eclipse
1.6.3
Eclipse
1.6.4
NetBeans
2
マッピングの理解
2.1
オブジェクト・リレーショナル・マッピングについて
2.1.1
オブジェクト・リレーショナル・エンティティ・アーキテクチャの理解
2.1.1.1
エンティティ
2.1.1.2
永続性と永続性ユニット
2.1.1.3
エンティティ・マネージャ
2.1.2
注釈を使用したメタデータの追加
2.1.2.1
注釈使用の長所と短所
2.1.3
構成の基本について
2.1.3.1
デフォルトの構成値
2.1.3.2
persistence.xmlを使用した永続性ユニットの構成
2.1.3.3
オブジェクト・リレーショナル・データ・タイプ・マッピング
2.1.3.4
マッピング情報のオーバーライドおよびマージ
2.1.3.5
XMLスキーマの検証
2.1.3.6
XML使用の長所と短所
2.1.4
データ・ソースについて
2.1.5
EclipseLinkキャッシュについて
2.1.5.1
キャッシュ動作の定義
2.1.5.2
クラスタ環境でのキャッシング
2.1.6
データベース問合せについて
2.2
Object-XMLマッピングについて
2.2.1
JAXBプロバイダとしてのEclipseLink Object-XMLの使用
2.2.2
Object-XMLのアーキテクチャの理解
2.2.2.1
JAXBコンテキストおよびJAXBコンテキスト・ファクトリ
2.2.3
Object-XMLに対するメタデータの提供
2.2.4
XMLバインディングについて
2.2.4.1
eclipselink-oxm.xmlを使用したEclipseLink Object-XMLマッピングの指定
2.2.5
Object-XMLデータ・タイプ・マッピングについて
2.2.6
XPathによるオブジェクトの問合せ
3
アプリケーション開発の理解
3.1
一般的な開発段階
3.2
ターゲット・プラットフォーム
3.3
永続層の構築および使用
3.3.1
実装オプション
3.3.1.1
EclipseLink JPAメタデータ、注釈およびXMLの使用
3.3.1.2
EclipseLinkメタデータJava APIの使用
3.3.1.3
メソッドおよび直接フィールド・アクセスの使用
3.3.1.4
Javaバイト・コード・ウィービングの使用
3.3.2
永続クラス要件
3.3.3
永続層コンポーネント
3.3.3.1
マッピング・メタデータ
3.3.3.2
キャッシュ
3.3.3.3
問合せおよび式
3.4
アプリケーション・デプロイメントについて
3.5
オブジェクトの永続化について
3.5.1
アプリケーション・オブジェクト・モデル
3.5.2
データ・ストレージ・スキーマ
3.5.3
主キーおよびオブジェクト・アイデンティティ
3.5.4
マッピング
3.5.5
外部キーとオブジェクト・リレーションシップ
3.5.6
継承
3.5.7
並行性
3.5.8
キャッシュ
3.5.9
非介入型の永続性
3.5.10
インダイレクション
3.5.11
可変性
3.6
メタデータについて
3.6.1
メタデータ・アーキテクチャの利点
3.6.2
プロジェクト・メタデータの作成
3.6.2.1
ディスクリプタとマッピング
3.6.2.2
データ・ソース・ログイン情報
3.6.3
セッション・メタデータの作成
3.7
ウィービングについて
3.7.1
動的ウィービングの使用
3.7.2
静的ウィービングの使用
3.7.3
POJOクラスのウィービング
3.7.4
ウィービングとJava EEアプリケーション・サーバー
3.7.5
永続性ユニット・プロパティを使用したウィービングの無効化
4
エンティティの理解
4.1
エンティティの識別
4.2
エンティティと永続識別子
4.3
エンティティとデータベース表
4.4
エンティティと継承
4.5
エンティティと埋込みオブジェクト
4.6
エンティティと順序生成
4.7
エンティティとロック
5
アプリケーション・デプロイメントの理解
5.1
アプリケーション・サーバーとの統合
5.1.1
ソフトウェア要件
5.1.2
セキュリティ・パーミッションの設定
5.1.3
EclipseLink永続性マネージャへのアプリケーションの移行
5.2
永続性ユニットについて
5.2.1
永続性ユニット名について
5.2.2
トランザクション・タイプ、永続性プロバイダおよびデータ・ソースについて
5.2.3
マッピング・ファイルについて
5.2.4
管理対象クラスについて
5.2.5
ベンダー・プロパティについて
5.2.6
デプロイメント・クラスパスについて
5.2.7
永続性ユニットのパッケージ・オプションについて
5.2.8
永続性ユニットの有効範囲について
5.3
クラスタリングの統合
6
ディスクリプタの理解
6.1
共通のディスクリプタの概念
6.1.1
ディスクリプタのアーキテクチャ
6.1.2
ディスクリプタと継承
6.1.2.1
クラス・インジケータの指定
6.1.2.2
継承と主キー
6.1.2.3
単一表と複数表の継承
6.1.2.4
集約ディスクリプタ、コンポジット・ディスクリプタおよび継承
6.1.3
ディスクリプタと集約
6.1.4
ディスクリプタのカスタマイズ
6.1.5
修正メソッドとロード後メソッド
6.1.6
ディスクリプタ・イベント・マネージャ
6.2
オブジェクト・リレーショナル・ディスクリプタの概念
6.2.1
フェッチ・グループ
6.2.1.1
AttributeGroupタイプと操作
6.2.1.2
FetchGroup
6.2.1.3
デフォルトFetchGroup
6.2.1.4
名前付きFetchGroup
6.2.1.5
完全FetchGroup
6.2.1.6
Load/LoadAllとFetchGroup
6.2.1.7
LoadGroup
6.2.1.8
CopyGroup
6.2.1.9
マージ
6.2.2
ディスクリプタ問合せマネージャ
6.2.3
ディスクリプタと順序付け
6.2.4
ディスクリプタとロック
6.2.4.1
オプティミスティック・バージョン・ロック・ポリシー
6.2.4.2
ペシミスティック・ロック・ポリシー
6.2.4.3
アプリケーションでのロックの適用
6.3
Object-XMLディスクリプタの概念
6.3.1
デフォルトのルート要素
6.4
ディスクリプタAPI
7
マッピングの理解
7.1
共通のマッピングの概念
7.1.1
マッピング・アーキテクチャ
7.1.2
マッピングの例
7.1.3
遅延ロードの使用
7.1.4
マッピング・コンバータおよびトランスフォーマ
7.1.4.1
シリアライズ・オブジェクト・コンバータ
7.1.4.2
タイプ変換コンバータ
7.1.4.3
オブジェクト・タイプ・コンバータ
7.1.4.4
トランスフォーメーション・マッピング
7.1.5
トランスフォーメーション・マッピング
7.2
オブジェクト・リレーショナル・マッピングの概念
7.2.1
インダイレクション(遅延ロード)
7.2.2
ValueHolderインダイレクション
7.2.3
透過インダイレクション
7.2.4
プロキシ・インダイレクション
7.2.4.1
プロキシ・インダイレクションの制限
7.2.5
ウィービング済インダイレクション
7.2.6
インダイレクションおよびJPA
7.2.7
インダイレクション、シリアライズおよびデタッチ
7.3
Object-XMLマッピングの概念
7.3.1
シンプル・タイプ変換
7.3.1.1
デフォルトの読取り変換
7.3.1.2
デフォルトの書込み変換
7.4
Object-JSONマッピングの概念
7.5
JPAマッピング・タイプについて
7.5.1
基本マッピング
7.5.2
デフォルトの変換およびコンバータ
7.5.3
コレクション・マッピング
7.5.3.1
1対多マッピング
7.5.3.2
多対多マッピング
7.5.4
オプティミスティック・ロックの使用
7.5.4.1
ステートレス環境でのオプティミスティック・ロック
7.5.4.2
オプティミスティック・バージョン・ロック
8
データ・アクセスの理解
8.1
外部管理トランザクション・データ・ソースについて
8.2
データ・ソース・ログインのタイプについて
8.3
データ・ソース・プラットフォームのタイプについて
8.4
認証について
8.4.1
単純なJDBC認証
8.4.2
Oracleデータベースのプロキシ認証
8.4.3
監査
8.5
接続について
8.6
接続プールについて
8.6.1
内部接続プール
8.6.2
外部接続プール
8.6.3
デフォルト(書込み)および読取り接続プール
8.6.4
シーケンス接続プール
8.6.5
アプリケーション固有の接続プール
8.7
データ・パーティション化ポリシーについて
8.8
クラスタ・データベースおよびOracle RACについて
9
キャッシュの理解
9.1
キャッシュ・アーキテクチャについて
9.1.1
永続性ユニット・キャッシュ
9.1.2
永続性コンテキスト・キャッシュ
9.1.2.1
アプリケーション管理の永続性コンテキスト
9.1.2.2
コンテナ管理の永続性コンテキスト
9.1.3
共有、独立、保護、弱参照および読取り専用キャッシュ
9.1.3.1
独立キャッシュ
9.1.3.2
共有キャッシュ
9.1.3.3
保護キャッシュ
9.1.3.4
弱参照モード
9.1.3.5
読取り専用エンティティ
9.2
キャッシュのタイプとサイズについて
9.2.1
FULLキャッシュ・タイプ
9.2.2
WEAKキャッシュ・タイプ
9.2.3
SOFTキャッシュ・タイプ
9.2.4
SOFT_CACHEおよびHARD_CACHEキャッシュ・タイプ
9.2.5
NONEおよびCACHE
9.2.6
キャッシュおよびアイデンティティ・マップの構成のガイドライン
9.2.6.1
WEAK、SOFTおよびHARDキャッシュ・タイプの内部について
9.3
問合せおよびキャッシュについて
9.4
失効したデータの処理について
9.4.1
ロック・ポリシーの構成
9.4.1.1
オプティミスティック・ロック
9.4.1.2
ペシミスティック・ロック
9.4.2
クラス単位でのキャッシュの構成
9.4.3
必要時の問合せ単位でのキャッシュ・リフレッシュの強制
9.4.4
キャッシュの無効化の構成
9.4.5
キャッシュ・コーディネーションの構成
9.5
明示的な問合せのリフレッシュについて
9.5.1
リフレッシュ・ポリシー
9.6
キャッシュの期限切れと無効化について
9.6.1
高度なキャッシュの無効化
9.7
キャッシュ索引について
9.8
問合せ結果キャッシュについて
9.9
キャッシュのロックとトランザクションの分離について
9.10
キャッシュの最適化について
9.11
キャッシュ・コーディネーションについて
9.11.1
キャッシュ・コーディネーションの使用が必要な場合
9.11.2
コーディネートされたキャッシュのアーキテクチャとタイプ
9.11.2.1
JMSコーディネート・キャッシュ
9.11.2.2
RMIコーディネート・キャッシュ
9.11.3
カスタム・コーディネート・キャッシュ
9.11.4
コーディネートされたキャッシュおよびクラスタリング
9.11.4.1
キャッシュ・コーディネーション用の永続性プロパティの拡張機能
9.11.4.2
キャッシュ・コーディネーションおよびOracle WebLogic
9.11.4.3
キャッシュ・コーディネーションおよびGlassfish
9.11.4.4
キャッシュ・コーディネーションおよびIBM WebSphere
10
問合せの理解
10.1
問合せの概念
10.1.1
Callオブジェクト
10.1.2
DatabaseQueryオブジェクト
10.1.3
データ・レベルとオブジェクト・レベルの問合せ
10.1.4
サマリー問合せ
10.1.5
ディスクリプタ問合せマネージャ
10.1.6
EclipseLinkの式
10.1.7
問合せキー
10.2
JPQL問合せについて
10.2.1
選択問合せ
10.2.1.1
SELECT句
10.2.1.2
FROM句
10.2.1.3
ORDER BY句
10.2.1.4
GROUP BY句
10.2.1.5
HAVING句
10.2.1.6
UNION
10.2.2
WHERE句
10.2.3
更新問合せ
10.2.4
削除問合せ
10.2.5
パラメータ
10.2.5.1
リテラル
10.2.6
関数
10.2.7
EclipseLinkの特殊な演算子
10.2.8
EclipseLinkの拡張機能
10.3
SQL問合せ言語について
10.4
Criteria APIについて
10.4.1
CriteriaBuilder
10.4.2
CriteriaQuery
10.4.3
Where
10.4.4
副問合せ
10.4.5
パラメータ
10.4.6
関数
10.4.7
特殊な操作
10.4.8
メタモデル
10.4.9
タプル問合せ
10.4.10
JpaCriteriaBuilderおよびEclipseLinkの拡張機能
10.5
ネイティブSQL問合せについて
10.5.1
パラメータ
10.5.2
名前付きのネイティブSQL問合せ
10.5.3
SQL結果セットのマッピング
10.6
高度なネイティブ問合せのサポートについて
10.7
JPA問合せヒントについて
10.8
問合せのキャストについて
10.8.1
JPA 2.0タイプ
10.8.2
JPQLでのダウンキャスト
10.8.3
JPA Criteria API
10.8.4
ダウンキャスト用のEclipseLinkの式のサポート
10.9
問合せ用のOracle拡張機能について
10.9.1
問合せヒント
10.9.2
階層問合せ
10.9.3
フラッシュバック問合せ
10.9.4
ストアド・ファンクション
11
EclipseLinkの式の理解
11.1
式フレームワークについて
11.1.1
式とSQLの比較
11.2
式の構成要素について
11.2.1
ブール・ロジック
11.2.2
データベース関数および演算子
11.2.2.1
データベース関数
11.2.2.2
データベース演算子
11.2.2.3
数値演算関数
11.2.2.4
XMLType関数
11.2.3
プラットフォーム関数とユーザー定義関数
11.2.4
1対1および集約オブジェクトのリレーションシップを表す式
11.2.5
結合リレーションシップと複雑なリレーションシップを表す式
11.2.5.1
結合について
11.2.5.2
結合でのEclipseLink Expression APIの使用
12
非リレーショナル・データ・ソースの理解
12.1
NoSQLプラットフォームの概念
12.2
NoSQL永続性ユニットについて
12.2.1
NoSQLプラットフォーム用の永続性ユニット・プロパティ
12.3
NoSQLプラットフォームのJPAアプリケーションについて
12.3.1
JPA注釈に対するマッピングの制限
12.4
NoSQLオブジェクトのマッピングについて
12.5
問合せおよびNoSQLプラットフォームについて
12.6
トランザクションおよびNoSQLプラットフォームについて
13
パフォーマンスの監視およびプロファイリングの理解
13.1
パフォーマンスのプロファイリング
13.2
フェッチ・グループの監視
13.3
パフォーマンスの監視
13.4
問合せの監視
A
データベースおよびアプリケーション・サーバーのサポート
A.1
データベースのサポート
A.2
アプリケーション・サーバーのサポート
A.2.1
アプリケーション・サーバーのJAXBプロバイダとしてのEclipseLink MOXy
A.3
非SQL標準データベースのサポート: NoSQL