136

私はJavaの世界とJPAに不慣れです。私は JPA を勉強していて、Entity、persistence などの多くの新しい用語に出くわしました。読んでいる間、Persistence Contextの正確な定義を理解できませんでした。

誰でも簡単な素人の言葉で説明できますか?で使用されるデータとの関係は何@Entityですか?

たとえば、次の定義は複雑すぎて理解できません。

永続コンテキストは、永続アイデンティティに対して一意のエンティティ インスタンスが存在するような一連のエンティティです。

4

9 に答える 9

80
  1. エンティティは、永続コンテキストを使用してjavax.persistence.EntityManagerインスタンスによって管理されます。
  2. EntityManagerインスタンスは 永続コンテキストに関連付けられています。
  3. 永続コンテキスト内で、エンティティ インスタンスとそのライフサイクルが管理されます。
  4. 永続化コンテキストは、特定のエンティティ インスタンスが作成、永続化、および削除されるスコープを定義します。
  5. 永続コンテキストは、一連の永続エンティティを含むキャッシュのようなものです。したがって、トランザクションが完了すると、すべての永続オブジェクトはEntityManager の永続コンテキストから切り離され、管理されなくなります。
于 2015-04-28T05:17:16.010 に答える
9

永続的なコンテキストは、データを保持し、データベースなどの永続的なストレージに永続化する資格があるエンティティを表します。commitこれらのエンティティが接続されているセッションでトランザクションが発生すると、Hibernateは永続コンテキストをフラッシュし、それらの変更 (挿入/保存、更新、または削除) は永続ストレージに永続化されます。

于 2017-03-05T14:17:10.797 に答える
8

org.hibernate.SessionAPI とAPI は両方とも、javax.persistence.EntityManager永続データを処理するためのコンテキストを表します。

この概念は、永続コンテキストと呼ばれます。永続データには、永続コンテキストと基礎となるデータベースの両方に関連する状態があります。

于 2014-03-22T13:05:49.947 に答える
5

簡単に言えば、Persistence Context はエンティティが管理される環境であると言えます。つまり、「エンティティ」をデータベースと同期します。

于 2019-06-29T15:26:23.757 に答える
4

@pritam kumar は良い概要を示していますが、5 番目のポイントは正しくありません。

Persistence Context は、Transaction Scoped (Persistence Context がトランザクションの間「存続」する) または Extended (Persistence Context が複数のトランザクションにまたがる) のいずれかです。

https://blogs.oracle.com/carolmcdonald/entry/jpa_caching

JPA の EntityManager と Hibernate の Session は、拡張された Persistence Context を提供します。

于 2016-05-28T09:47:58.233 に答える