Der Java-Prozess -Verbesserung ist ein Tool, das fügt automatisch Code zur persistenten Klassen . Die Byte- Codes durch den Java-Compiler erzeugt mit dem Enhancer Post-Prozess . Zusätzlich hat keine Änderungen durch den Byte-Code gemacht Kompatibilität mit Java Debugger . Dies schont die Zeilennummern in Stack-Traces . Nach der Enhancer fügt Schnittstellen , Felder und Methoden, um die persistenten Klassen , speichert der Verstärker die Informationen in einem Datenspeicher . Bauzeit
Benutzer können die Enhancer Buildzeit Anfrage durch eine Java-Klasse , und der Verstärker wird die Standard-Set von Kommandozeilen- Argumente zu akzeptieren. Das Konfigurations-Framework nutzt verschiedene Gruppen von Flags auf Parameter , einschließlich der Fähigkeit zu einem geschützten Konstruktor ohne Argumente zu einer persistenten Klasse hinzuzufügen gesetzt . Wenn ein Argument nicht durch den Verstärker geliefert wird, wird das Argument auf die Klassen in der persistenten Klasse Liste laufen . Das Argument muss entweder den vollständigen Namen einer Klasse , die . Java-Datei für eine Klasse oder die . Class-Datei einer Klasse.
Deployment
Java EE 5 Haken verwendet , um automatisch zu verbessern JPA-Entitäten , wenn sie in einem Container im Einsatz. Die OpenJPA verbessert die Entitäten zur Laufzeit bei Verwendung eines kompatiblen Server . Darüber hinaus erkennt der OpenJPA und dann korrigiert oder überspringt alle Enhancement Konflikte .
Runtime
Java Agent in OpenJPA automatisch erhöht persistenten Klassen während des Ladevorgangs . Darüber hinaus verwenden diese Mittel Haken an Klassen, die Persistenz -Metadaten haben, bevor sie laden zu fangen. Der Prozess der Suche nach den Metadaten ist zeitaufwendig und verlangsamt die Initialisierung der Anwendung . Allerdings können Benutzer diesen Prozess beschleunigen , indem er erklärt eine persistente Klasse Liste. In diesem Fall wird OpenJPA nur innerhalb der angegebenen Liste für Metadaten suchen.
Metadaten
Sobald Benutzer definethe Metadaten auf dem Klassendeklaration basiert, wird der Verstärker erzeugen eigene Metadaten. Die Metadaten wird dann Teil eines jeden persistenten Klasse als statische Feld , wenn Sie während Erweiterung hinzugefügt . Verschiedene Arten von statischen Feldern auch bedeuten Klasse Metadaten auf . Benutzer können leicht Zugriff auf diese Metadaten-Informationen , um die Felder der Klasse zu verwalten.