Ich verwende Wildfly 8.1 zusammen mit einem EJB-Projekt (EJB 3.2), das Entitäten enthält. Wenn ich versuche, den Entity Manager in eine meiner Bohnen zu injizieren, bekomme ich Folgendes:
%Vor%Dies ist meine SessionBean, wo ich versuche, den EntityManager zu injizieren:
%Vor% Ich habe folgende persistence.xml
Datei angegeben, die ich in "Projektname" / ejbModule / META-INF lege.
Ähnliche Fragen und ihre Lösungen
<provider>
zu persistence.xml hinzuzufügen, aber das hat auch nicht für mich funktioniert Update (siehe Kommentare):
- Ich habe versucht, stattdessen @EntityManager(unitName="mitarbeiter")
zu verwenden
von nur @EntityManager
- Die oben gezeigte Session Bean ist der einzige Ort, an dem ich versuche zu spritzen
EntityManager
Update 2 (siehe Kommentare der Antwort):
persistence.xml
befindet sich im Verzeichnis Project/ejbModule/META-INF/
jar/META-INF/
). Wenn ich es manuell kopiere und einfüge, funktioniert es. Warum ist das so? Jede Hilfe und Hinweise werden sehr geschätzt.
Ein paar mögliche Probleme:
persistence.xml
-Datei. Bitte platzieren Sie es im Verzeichnis META-INF/
im Stammverzeichnis des Archivs. Wenn Sie Maven verwenden, wäre es src/main/resources/META-INF/persistence.xml
. persistence.xml
Datei: Sie haben persistence-unit
Tag in der Zeile <persistence-unit name="mitarbeiter"/>
geschlossen (beachten Sie /
am Ende) <property-name="hibernate.hbm2ddl.auto" value="create-drop"/>
ist ungültig. Ich nehme an, du wolltest: <property name="hibernate.hbm2ddl.auto" value="create-drop" />
Im Allgemeinen sollte der korrekte persistence.xml
Inhalt für JPA 2.1 in Ihrem Fall wie folgt aussehen:
Tags und Links java wildfly entitymanager