EntityManager Die persist () -Methode fügt keinen Datensatz in die Datenbank ein

8

Ich habe Probleme mit der Methode EntityManager.persist(Object) . Jetzt, wenn ich andere Probleme los, durch App Arbeit ohne Ausnahme aber Objekt ist nicht in meiner Datenbank.

Meine Entitätsklasse:

%Vor%

meine Dao-Klasse:

%Vor%

mein XML-Kontext:

%Vor%

und pereistence.xml :

%Vor%

Hat jemand eine Idee, was fehlt mir?

    
Grzzzzzzzzzzzzz 07.12.2012, 09:03
quelle

8 Antworten

7

Erhalten Sie eine bestimmte Ausnahme? Es wäre hilfreich zu wissen, was es ist, wenn Sie es sind.

Es gibt eine Reihe ähnlicher Probleme bereits bei Stackoverflow:

Der Spring-Transaktionskontext speichert keine Daten

Frühling , Ruhezustand & amp; JPA: Calling persist on entitymanager scheint nicht zur Datenbank zu verpflichten

Diese Vorschläge legen nahe, dass Sie em.flush() nach em.persist(chain) hinzufügen und die @transactional -Anmerkungen

ändern sollten

Sie sollten auch überprüfen, ob Sie Transaktionsanmerkungen über eine Zeile wie:

aktiviert haben %Vor%

in Ihrer .xml-Konfiguration

    
RoryB 07.12.2012, 09:16
quelle
5

Versuchen Sie Folgendes:

%Vor%

PS: Sie sollten auch eine Generierungsmethode für Ihre ID festlegen.

    
Peter Adrian 07.12.2012 14:50
quelle
1

Können Sie posten, welche Ausnahme erhalten Sie? Ich nehme an, dass Ihr Fehler darin besteht, dass Sie in Ihrer persistence.xml Ihr "Chain" -Objekt nicht angegeben haben.

Sie können mit diesem Tag angeben

%Vor%

Oder nur

%Vor%

Fügen Sie dieses Provider -Tag ein.

Legen Sie auch niemals eine Zahl für eine Spalte fest, die mit @Id

gekennzeichnet ist

Wenn Sie die Methode save () mit einer ID-Spalte mit einem festgelegten Wert verwenden, gehen Sie in den Ruhezustand wird versuchen, UPDATE KEINE INSERT-Daten einzugeben.

Mach das: Erstellen Sie die getEntityManager-Methode

%Vor%

Dann

%Vor%     
Bernardo Vale 07.12.2012 09:10
quelle
0

Wenn Sie diese zu Ihrem web.xml hinzufügen, kann dieses Problem möglicherweise gelöst werden:

%Vor%     
ElvisKang 06.03.2015 08:09
quelle
0

hat mein Problem mit

gelöst %Vor%

hoffe, diese Arbeit!

    
Wilson Campusano 05.01.2018 20:41
quelle
0

Verwenden Sie @EnableTransactionManagement in AppConfig Konfigurationsdateiheader

    
Randy Orton 19.02.2018 12:21
quelle
-1

Sie müssen die ID-Generierungsstrategie wie folgt zuweisen:

%Vor%

und in der Speichermethode

%Vor%

Wenn Sie Id zuweisen, wird Hibernate / Jpa versuchen, Datensatz zu aktualisieren, der nicht verfügbar ist, anstatt neuen Datensatz einzufügen, und ich denke, wird keine Ausnahme auslösen.

    
Jigar Parekh 07.12.2012 09:09
quelle
-1

Ich konnte das gleiche Problem beheben, indem ich die Entity zu persistence.xml hinzufüge:

%Vor%     
hlopezvg 01.02.2014 23:01
quelle

Tags und Links