2012-01-27 6 views
1

私はJPAが標準であり、Hibernate3.2などの実装が必要なことを知っています。私の質問は:EJB3にはJPAの実装が付属しているのですか、EJB3以外にも使用するためのHibernateなどの実装が必要ですか? あなたはそれがコンテナがJPAをサポートしている場合、それはあなたのAPI(EntityManagerなど)を与える偉大な:)EJB3 JPAを使用している場合は、休止状態が必要ですか?

おかげ

+2

EJB 3.1では、EJB3 JPAとしてこれ以上存在しません。 JPAは現在完全に独立した仕様です。 –

答えて

3

になり、この上の任意の有用なチュートリアルに私を指すことができれば、あなたは何を気にしませんそれを実装します。だから、あなたはHibernateを使う必要はありません。いくつかのコンテナは、下のHibernate、他のEclipseLinkなどを使用します。しかし、あなたの視点からは、がちょうど動作するAPIを使用しています

+1

ベンダー固有の拡張機能を使用している場合を除きます。かなり有用なものがいくつかあります。 –

1

@FilterなどのHibernate機能を使用している場合は、JPAプロバイダとしてHibernateを使用します。一部のアプリケーションサーバ(JBossなど)では、JPAプロバイダとしてHibernateを使用しています。

1

これは、Java EEコンテナ固有の実装に依存します。 JPAはインタフェース、仕様に似ており、HibernateはカスタムJPA実装です。

HibernateにはJBossが付属していますが、EclipselinkはGlassfishに付属している別のJPA実装の例です。ただし、必要に応じて、Hibernate + Glassfishを使用することはできます。

関連する問題