Frage

Ich habe ein EJB und ein Webmodul in meinem Intellij, das 5 Entitäten erstellt hat, die ich mit Anmerkungen in eine Datenbank laden möchte.

Ich gehe zu Projekteinstellungen unter Modulen und wähle, dass ich JPA -Facette hinzufügen möchte. Ich weiß, dass ich eine EJB-, Web- und JPA -Facette habe. Ich verwende EclipSelink, also habe ich überprüft, ob ich unter JPA -Einstellungen meine dateisistce.xml -Datei hinzugefügt habe und die Datei konfiguriert habe.

Das Problem ist, dass beim Bereitstellen einfach die persistence.xml -Datei nicht bereitgestellt wird, was bedeutet, dass ich sie bei der Auswahl meiner Anwendung unter Bereitstellungsdeskriptoren nicht unter meinem Glassfish 3.0 -Server finden kann. Ich finde nur meine Sonne-Web-ejb.xml unter dem EJB-Modul. Persistenz.xml befindet sich auch nicht unter dem Webmodul, aber ich gehe davon aus, dass es ohnehin unter dem EJB -Modul stehen sollte.

Ist es beabsichtigt, dass meine Persistenz.xml nicht auf den Server geladen werden sollte, damit ich die XML -Datei unter GF -Administratorkonsole (Anwendungen -> EJB -Modul von mir -> Bereitstellungsdeskriptoren) finden kann?

Wenn dies nicht beabsichtigt ist, muss ich in Intellij etwas Besonderes tun, um Persistenz zu machen. XML wird auf dem Server bereitgestellt? Vielleicht muss ich etwas mit meiner JPA -Facette tun?

Vielen Dank für jedes Feedback dazu. Ich kann natürlich detailliertere Informationen zu meinem Setup geben, wenn es sich um einen Neccessary handelt.

War es hilfreich?

Lösung

Ich finde nur meine Sonne-Web-ejb.xml unter dem EJB-Modul.

Das ist schon komisch. Wenn ich mich nicht irre, ist dies ein proprietärer Bereitstellungsdeskriptor für das Webmodul.

Persistenz.xml ist auch nicht unter dem Webmodul, aber ich gehe davon aus, dass es ohnehin unter dem EJB -Modul stehen sollte

Es hängt alles davon ab, wie Sie Ihre Entitäten verpacken und bereitstellen, was auf verschiedene Weise erfolgen kann (siehe Was Sie möglicherweise über die Optionen für Persistenzeinheitenverpackungen wissen müssen).

Wenn Ihre Einheiten in einem EJB-Jar verpackt sind, die persistence.xml muss in die platziert werden META-INF Verzeichnis.

Sie könnten sie jedoch im Web -Modul verpacken, dies wäre in Ihrem Fall einfacher. Siehe den obigen Link.

Ist es beabsichtigt, dass meine Persistenz.xml nicht auf den Server geladen werden sollte, damit ich die XML -Datei unter GF -Administratorkonsole (Anwendungen -> EJB -Modul von mir -> Bereitstellungsdeskriptoren) finden kann?

Ich schlage vor, zu überprüfen, ob das physische Glas das enthält META-INF/persistence.xml.

Wenn dies nicht beabsichtigt ist, muss ich in Intellij etwas Besonderes tun, um Persistenz zu machen. XML wird auf dem Server bereitgestellt? Vielleicht muss ich etwas mit meiner JPA -Facette tun?

Kann nicht sagen. Vielleicht könnte der folgende Link helfen: Aktivierung der JPA -Unterstützung.

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