Frage

Ich suche nach einer Entitätsnachweis in OpenJPA. Das brauche ich nicht alle Entitäten in der persistence.xml zu erklären.

Edit: Es tut mir leid, ich habe vergessen zu sagen, dass ich ein Java-se App zu entwickeln.

War es hilfreich?

Lösung

Lesen Sie die Persistent Klassenliste Abschnitt in die Bedienungsanleitung.

  

Im Gegensatz zu vielen ORM Produkte, OpenJPA tut   nicht brauchen, um über alle Ihre wissen   persistente Klassen beim Start. OpenJPA   entdeckt neue persistente Klassen   automatisch, wenn sie geladen werden, in   die JVM; neu in der Tat kann man einführen   persistente Klassen in Laufen   Anwendungen unter OpenJPA.

  • Hinweis: Es gibt ein paar Einschränkungen, die in der Bedienungsanleitung dokumentiert sind, aber ich verließ die heraus diesen Beitrag kurz zu halten.

Andere Tipps

Pro die JPA-Spezifikation, müssen Sie alle Klassen Liste explizit in einer Java-SE-Umgebung:

  

6.2.1.6 Mapping-Datei, jar-Datei, Klasse, exclude-nicht angegeben Klassen

     

(...)

     

Eine Liste mit dem Namen Managed Persistence   Klassen können stattdessen auch angegeben werden   die JAR-Dateien von oder zusätzlich zu,   und Mapping-Dateien. jede Zuordnung   Metadaten Anmerkungen gefunden auf diesem   Klassen werden verarbeitet, oder sie werden   wird unter Verwendung der Abbildungs ??kartiert   Anmerkung Standardwerte. Die Klasse Element   wird verwendet, um eine verwaltete Persistenz zur Liste   Klasse. Eine Liste aller Namen verwaltet   Persistenz-Klassen müssen angegeben werden   in Java SE-Umgebungen, um sicherzustellen,   Portabilität. Mobile Java SE   Anwendungen sollten nicht auf die verlassen   andere Mechanismen beschrieben hier   geben Sie die Managed Persistence   Klassen einer Persistenzeinheit.   Persistence Provider kann auch verlangen,   dass die Menge der Entitätsklassen und   Klassen, die sein verwaltet werden sollen, müssen   vollständig in jede der aufgezählten   persistence.xml Dateien in Java SE   Umgebungen.

     

enthalten sind alle Klassen in der Wurzel   die Persistenzeinheit werden auch gesucht   für kommentierten Managed Persistence   Klassen und jede Zuordnung von Metadaten   Anmerkungen auf ihnen gefunden wird   verarbeitet werden, oder werden sie abgebildet werden   Verwenden der Abbildung Annotations Standardwerte.   Wenn es nicht, dass die beabsichtigten   Ausdauer Klassen kommentierten   in der Wurzel des enthaltenen   Persistenzeinheit in die aufgenommen werden   Persistenzeinheit, die   exclude-unlisted-classes Element   sollte benutzt werden. Das   exclude-unlisted-classes Element ist   in Java SE nicht für den Gebrauch   Umgebungen.

Nun, wenn Sie nichts dagegen haben nicht tragbar sein, könnten Sie eine Anbieter-Erweiterung verwenden, aber ich kann nicht so etwas wie Hibernate hibernate.archive.autodetection Immobilien in OpenJPA finden.

Mit Spring JPA Integration (der flexibleren classpath Scannen ermöglicht) ist eine weitere Option.

Es gibt auch die JPA-Plugin, das dies für Sie tun kann. Die neueste Version ist in Maven Zentrale nicht zur Verfügung, so dass Sie Klon haben und bauen sich selbst.

JPA-Plugin

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top