Cosminexus V9 アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)
EntityManagerのfindメソッドまたはgetReferenceメソッドの呼び出しによって,引数で指定した主キーに対応するエンティティをデータベースから取得できます。
EntityManagerのfindメソッドまたはgetReferenceメソッドで返されるエンティティは,トランザクションスコープの永続化コンテキストを利用します。このため,トランザクション内でメソッドを呼び出した場合はmanaged状態になります。また,トランザクション外でfindメソッドまたはgetReferenceメソッドを呼び出した場合はdetached状態になります。
find操作またはgetReference操作で取得したエンティティの状態を次の表に示します。
表6-10 find操作またはgetReference操作で取得したエンティティの状態
永続化コンテキスト | 取得したエンティティの状態 |
---|---|
トランザクションスコープの永続化コンテキスト(トランザクション外) | detached |
トランザクションスコープの永続化コンテキスト(トランザクション内) | managed |
拡張された永続化コンテキスト(トランザクション外) | managed |
拡張された永続化コンテキスト(トランザクション内) | managed |
なお,CJPAプロバイダの場合,find操作またはgetReference操作では次の点がJPA仕様と異なります。なお,このほかにJPA仕様との機能差はありません。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.