35

私はJPAが初めてです。

私の理解では、JPA は仕様であり、Hibernate は JPA を実装し、JPA メソッドとともにアドオン機能を提供します。

しかし、EntityManagerHibernate ライブラリを使用せずに、オブジェクトを使用してデータに対して CRUD を実行できるJPA チュートリアルを行っていました。

だから誰か教えてください

  1. EntityManagerHibernate を使用せずに、メソッドを使用して JPA を単独で使用できますか?

役に立つリンクや例をいくつか挙げてください。

大変感謝しています。
ありがとう。

4

8 に答える 8

27

そうです、JPAは仕様です。Hibernate と EclipseLink は、その実装の 2 つです。

JPA 実装を使用するには、永続化プロバイダー (Hibernate、EclipseLink) を指定する必要があります。永続化プロバイダーには、JPA 仕様の実装クラスがあります。

于 2013-03-18T22:20:10.170 に答える
5

JPAを使用することはできません。API=)であるためですが、JPAの実装はたくさんあります。

  1. EclipseLink
  2. ObjectDB
于 2013-03-18T22:15:55.853 に答える
4

Hibernate(または他のJPAプロバイダー)を使用したくない場合は、javax.persistence.spi.PersistenceProviderインターフェースの実装を提供して、独自のプロバイダーを実装する必要があります。問題は、なぜ車輪の再発明が必要なのかということです。Hibernateが気に入らない場合は、他の多くのJPAプロバイダーの1つを使用して選択できます。

于 2013-03-18T22:16:43.583 に答える
3

JPA は、アプリケーション サーバーにすでに JPA 実装がある場合にのみ、JPA プロバイダー (別名 Hibernate、EclipseLink など) なしで使用できます。ほとんどの場合、チュートリアルで、そのようなアプリケーション サーバーで実行されたデモを見たことがあるでしょう。

于 2016-03-05T17:37:01.917 に答える
2

Hibernate を使用せずに JPA を単独で使用できます。以下に示すように、Hibernate と JPA の間の主要なポイントについて事前に知っておく必要があります。

休止状態

  1. Hibernate は、完全な ORM をサポートし、JPA 機能も使用する ORM フレームワークです。
  2. 第 2 レベルのキャッシュが利用可能であるため、パフォーマンスは非常に優れています
  3. NHibernate ツールを使用した .Net のサポート
  4. その生成HQL(Hibernate Query Language)

JPA

  1. JPA は、J2EE 1.5 でリリースされた EJB 仕様の一部であり、これは J2EE だけでなく Java にも使用されます。
  2. Second Level Cache が利用できないため、パフォーマンスがよくありません。
  3. .Net には対応していません
  4. その生成JPQL(Java Persistence Query Language)
  5. JPA を使用できる Hibernate のような永続化プロバイダーのトップ。
于 2013-09-14T14:53:05.380 に答える