Ich bin neu in der Java-Welt und JPA. Ich habe JPA studiert und bin auf viele neue Begriffe wie Entität und Beharrlichkeit gestoßen. Beim Lesen konnte ich die genaue Definition für den Persistenzkontext nicht verstehen .
Kann es jemand in einfachen Laienbegriffen erklären? Was ist mit den in der verwendeten Daten zu tun @Entity
?
Zum Beispiel finde ich diese Definition zu kompliziert, um sie zu verstehen:
Ein Persistenzkontext besteht aus einer Reihe von Entitäten, sodass für jede persistente Identität eine eindeutige Entitätsinstanz vorhanden ist.
quelle
quelle
Daraus entnommen Seite:
Hier ist ein kurzer Spickzettel der JPA-Welt:
quelle
Ein persistenter Kontext stellt die Entitäten dar, die Daten enthalten und für die Persistenz in einem persistenten Speicher wie einer Datenbank qualifiziert sind. Sobald wir
commit
eine Transaktion unter einer Sitzung haben, mit der diese Entitäten verknüpft sind , löscht Hibernate den persistenten Kontext und Änderungen ( Einfügen / Speichern, Aktualisieren oder Löschen ) an ihnen werden im persistenten Speicher beibehalten.quelle
Sowohl die
org.hibernate.Session
API als auch diejavax.persistence.EntityManager
API stellen einen Kontext für den Umgang mit persistenten Daten dar.Dieses Konzept wird als Persistenzkontext bezeichnet . Persistente Daten haben einen Status in Bezug auf einen Persistenzkontext und die zugrunde liegende Datenbank.
quelle
"Eine Reihe von persistenten (Entitäts-) Instanzen, die zu einem bestimmten Zeitpunkt von einer Entitätsmanagerinstanz verwaltet werden" wird als Persistenzkontext bezeichnet.
Die Annotation JPA @Entity gibt eine dauerhafte Entität an.
Siehe JPA- Definition hier
quelle
Laien können sagen, dass der Persistenzkontext eine Umgebung ist, in der Entitäten verwaltet werden, dh "Entität" mit der Datenbank synchronisiert wird.
quelle
Während @pritam kumar einen guten Überblick gibt, ist der 5. Punkt nicht wahr.
https://blogs.oracle.com/carolmcdonald/entry/jpa_caching
Der EntityManager und die Hibernate-Sitzung von JPA bieten einen erweiterten Persistenzkontext.
quelle
Persistenzkontext ist eine Umgebung oder ein Cache, in der Entitätsinstanzen (die Daten speichern können und somit in einer Datenbank beibehalten werden können ) von Entity Manager verwaltet werden. Er synchronisiert die Entität mit der Datenbank. Alle Objekte mit @ Entity- Annotation sind in der Lage beharrlich zu sein. @Entity ist nichts anderes als eine Klasse, mit deren Hilfe wir Objekte erstellen können, um mit der Datenbank zu kommunizieren. Die Art und Weise, wie die Objekte kommunizieren, verwendet Methoden. Und wer diese Methoden bereitstellt, ist der Entity Manager.
quelle