Glassfishの永続性プロバイダーとしてHibernateを使用することは可能ですか?その場合、どのように使用しますか?
4 に答える
Gussからhibernate.orgに提供されたリンクの有効期限が切れています。これが2010年2月20日付けのGoogleキャッシュです。以前のバージョンのリンクされたwikiページに記載されているように、さまざまなアプリケーションがそれらを使用できるように、Glassfishインストールディレクトリではなく.ear/.war内に休止状態のライブラリを保持することをお勧めします。 Hibernateの独自のバージョン。
現代のハウツー
GlassfishでHibernateを使用するには、Hibernateとその依存関係をEARファイルに入れるだけです。これは、WARファイルでも発生する可能性があります。
persistence.xmlで、次のタグを使用してhibernateを指定します。
<provider>org.hibernate.ejb.HibernatePersistence</provider>
通常どおり、休止状態のプロパティを指定することもできます。次に例を示します。
<properties> <property name="hibernate.hbm2ddl.auto" value="none"/> </properties>
私はGlassfishとHibernateのどちらの専門家でもありませんが、おそらくこれは興味深いと思います。GlassfishでHibernateを使用する手順
Yes, that's a common scenario. Just deploy Hibernate (and all its dependencies) either globally into Glassfish or as part of your application. Then implement your application using Hibernate as a library.
The next question you have to consider is whether you want to use JPA, and Hibernate as JPA provider or if you want to use Hibernate plain.
Another question then if you want to use EJBs and Entity Beans. If yes, I would recomend using JPA.
If you are not using EJB Entity Beans, you can use either JPA or plain Hibernate for persisting your POJOs.
Hibernate ライブラリを Glassfish サーバーの lib ディレクトリに配置する代わりに、EAR を構築して、それらを EAR の lib ディレクトリに含めることができます。このアプローチに関する私たちの経験についてのブログエントリを投稿しました。IMO サーバーのグローバル構成を変更するのではなく、Hibernate をアプリケーション自体にバンドルすることをお勧めします。そうすることで、同じサーバー上で実行されている可能性のある他のアプリケーション (レガシー アプリケーションなど) に影響を与えることはありません。詳細については、これを参照してください。