4.8.2. JNDI にバインドされた SessionFactory


JNDI にバインドされた Hibernate SessionFactory はファクトリのルックアップと新しい Session の作成を簡単にします。 JNDI にバインドされた Datasource には関連していませんが、 両方とも同じレジストリを使用します。
SessionFactory を JNDI 名前空間にバインドしたい場合は、 hibernate.session_factory_name プロパティを使用して名前 (java:hibernate/SessionFactory など) を指定します。 このプロパティを省略すると、 SessionFactory は JNDI にバインドされません。 これは、 読み取り専用の JNDI のデフォルト実装を持つ環境 (Tomcat 内など) で特に便利です。
SessionFactory を JNDI に登録するとき、 Hibernate は hibernate.jndi.url の値を使用し、hibernate.jndi.class をイニシャルコンテキストとして具体化します。何も設定しない場合は、デフォルトの InitialContext を使用します。
cfg.buildSessionFactory() を呼び出した後、 Hibernate は自動的に SessionFactory を JNDI に配置します。 これは、 HibernateService で JMX デプロイメントを使用しない限り、 この呼び出しがアプリケーションの起動コードかユーティリティクラスに存在することを意味します。
JNDI の SessionFactory や EJB、 他のクラスを使用する場合、 JNDI ルックアップを使用して SessionFactory を取得することができます。
管理された環境では SessionFactory を JNDI にバインドし、 管理されていない環境では static シングルトンを使用することが推奨されます。 また、 これらの詳細からアプリケーションコードを保護するため、 HibernateUtil.getSessionFactory() など、 ヘルパークラスの SessionFactory に対する実際のルックアップコードを非表示にすることが推奨されます。 このようなクラスは Hibernate の起動にも便利です。 詳細は第 1 章を参照してください。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る