Hibernate.initialize() - 遅延ロードのコレクションやプロキシを強制的に初期化する
2009/02/25 13:55Update
セッションが閉じる(close)前に、Hibernate.initialize()を利用すれば、エンティティやコレクションに対して強制的に初期化することができます。
Hibernate LAZYロードについて
――――――――――――――――――――――――――――――
Hibernate究明 - Hibernate のLAZYロード
Hibernate究明 - Hibernate のLAZYロード及びOpenSessionInView
――――――――――――――――――――――――――――――
LAZYロードの場合、ビューの描画が完了するまでSession を常にオープンにしておくなら、問題はないのですが、ビジネス層が分離している分散アプリケーションでは、フロント側(Webシステムの場合WEB層)で必要になるすべてのデータを事前(セッションが閉じる前)に用意しなければなりません。
すなわち、フロントで必要になるLAZYロードのプロパティやコレクションに対して、正しく値を設定(ロード)する必要があります。
Hibernateは、static の Hibernate.initialize() や Hibernate.isInitialized()メソッド を提供し、遅延ロードのコレクションやプロキシを強制的に初期化することができます。
使い方例:
.
――――――――――――――――――――――――――――――
Hibernate究明 - Hibernate のLAZYロード
Hibernate究明 - Hibernate のLAZYロード及びOpenSessionInView
――――――――――――――――――――――――――――――
LAZYロードの場合、ビューの描画が完了するまでSession を常にオープンにしておくなら、問題はないのですが、ビジネス層が分離している分散アプリケーションでは、フロント側(Webシステムの場合WEB層)で必要になるすべてのデータを事前(セッションが閉じる前)に用意しなければなりません。
すなわち、フロントで必要になるLAZYロードのプロパティやコレクションに対して、正しく値を設定(ロード)する必要があります。
Hibernateは、static の Hibernate.initialize() や Hibernate.isInitialized()メソッド を提供し、遅延ロードのコレクションやプロキシを強制的に初期化することができます。
使い方例:
Cat cat = ... Hibernate.initialize(cat);//cat プロキシを強制的に初期化します Hibernate.initialize( cat.getKittens() );//kittens コレクションに対して強制的に初期化します
.
Sponsored Link
- Relative Articles
- Hibernate SQLクエリ実行のタイムアウト時間設定 - (2009/09/04 17:12)
- Hibernate c3p0 - よく利用されているコネクションプーリング - (2009/07/15 23:54)
- c3p0 接続プール 詳細設定 | プロパティ一覧 - (2009/06/26 13:09)
- Hibernate の開発手順 - (2008/11/09 23:52)
- Hibernate排他制御 - LockModeによる悲観的ロック - (2008/08/29 16:11)
- Hibernate排他制御 - versionによる楽観的ロック - (2008/08/29 14:23)
- Hibernateで複数のDBに接続するには? - (2008/08/06 11:27)
- Hibernate Interceptor 機能で共通する処理を記述する - (2008/08/04 17:24)
- Hibernate究明 - Hibernate のLAZYロード - (2008/07/30 23:52)
- Hibernate究明 - Hibernate のLAZYロード及びOpenSessionInView - (2008/07/30 20:21)
- Hibernate究明 - サンプルから学ぶHibernate Proxy - (2008/07/30 19:10)
- Hibernate SQLをログに出力方法 - (2008/07/30 16:06)
- Hibernate設定ファイルその1 - hibernate.cfg.xml - (2008/07/29 08:29)
- Hibernate のインストール - (2008/07/24 11:01)
- Hibernateとは - (2008/07/11 14:23)