Existiert schon ein DB- Eintrag

Generic1

Top Contributor
Hallo,

ich hab glaub ich wieder ein spezielles Problem,
Ich verwende Hibernate zur kommunikation mit der DB.
Wenn ich ein Tupel in der DB über Hibernate gespeichert habe und dann ein neues Objekt erzeuge, dieses aber noch nicht gespeichert habe und dann diese Methode aufrufe:

Java:
private Participance isParticipantStillRegisteredForEvent(final Participant participant, final Event event) {
            try {
                final String searchQuery = "select pa from " + EVENT + " e, " + PARTICIPANCE + " pa, " + PARTICIPANT + " p where p = pa.participant and e = pa.event " +
                                           "and pa.participant = ? and pa.event = ?";
                final List<Participance> participanceList = getHibernateTemplate().find(searchQuery, participant, event);
                if(participanceList.size() > 0)
                    return participanceList.get(0);
                else
                    return null;
                }
            catch(Exception e) {
                System.out.println("Exception: " + e);
                return null;
                }
            }

dann bekomme ich folgende Exception:

Code:
org.springframework.dao.InvalidDataAccessApiUsageException: object references an unsaved transient instance - save the transient instance before flushing: at.eventtiming.participant.domain.Participant; nested exception is org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: de.my.company.domain.Participant

Jetzt ist mir klar, dass ich einen Participanten angelegt aber noch nicht gespeichert habe, aber ich weiß nicht was ich dagegen tun soll, ich kann ja den neu angelegten Participanten nicht speichern,
Ich möchte nur abfragen, ob es unter den schon gespeicherten Participanten einen gibt, der mit dem neu angelegten gleich ist. Ich kann auch nicht vor dem erzeugen abfragen ob es schon einen gleichen Participanten gibt, da das erzeugen bei mir eine Factory macht und das Speichern eine Repository- Klasse/Object.
Weiß jemand wie ich das machen kann? Ich steh momentan ziemlich auf dem Schlauch.
Vielen Dank,
lg
 
Zuletzt bearbeitet:
S

SlaterB

Gast
frage doch nach
and pa.participant.name = ?
oder ähnlich eindeutiges und übergib nur die einzelnen Attribute statt das Participant-Objekt an sich
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Spring MongoDB: Prüfen ob bereits eine Email existiert Datenbankprogrammierung 15
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
K Schnelle Methode um zu testen ob Datensatz existiert Datenbankprogrammierung 9
C Prüfen, ob eine MySQL-Tabelle bereits existiert Datenbankprogrammierung 7
V Überprüfen ob Tabelle existiert in Access per ODBC Datenbankprogrammierung 2
R Prüfen ob Tabelle existiert? Datenbankprogrammierung 4
G HSQLDB überprüfen, ob Tabelle bereits existiert Datenbankprogrammierung 3
S Überprüfen ob Datensatz existiert Datenbankprogrammierung 2
Psypsy Hibernate / JPA erkennen von schon gespeicherten Objekten Datenbankprogrammierung 4
P Schon wieder ein SQL Problem Datenbankprogrammierung 2
K Prüfen ob Tabelle schon vorhanden Datenbankprogrammierung 7
S Den letzten Eintrag aus Datenbank ziehen (Oracle SQL Dev.) Datenbankprogrammierung 14
D SQLite INSERT OR REPLACE INTO macht neuen Eintrag?! Datenbankprogrammierung 2
M Derby/JavaDB Neu geschriebener Eintrag per UPDATE lässt sich nicht unmittelbar abrufen Datenbankprogrammierung 2
G 2 Tabellen und ein spezieller Eintrag Datenbankprogrammierung 2
J Java DB Neuen Eintrag am Anfang der Table Datenbankprogrammierung 6
E ClassNotFoundException bei verschiedenen MS SQL Treibern trotz Classpath-Eintrag Datenbankprogrammierung 5
C Programm wird nach DB-Eintrag nicht weitergeführt Datenbankprogrammierung 5
M OutOfMemoryException obwohl nur 1 Eintrag abgefragt wird Datenbankprogrammierung 7
A Ausgewählten Jtable Eintrag aus Db löschen Datenbankprogrammierung 9
C H2 Letzten Eintrag auslesen Datenbankprogrammierung 6
N batchupdate, es wird nur der letzte Eintrag eingetragen Datenbankprogrammierung 5
S MySQL Kein DB-Eintrag Datenbankprogrammierung 4
prakdi einzelnen SQL Eintrag finden der "update" enthält Datenbankprogrammierung 3
K Wird auf den Eintrag referenziert? Datenbankprogrammierung 4
E Aus einer Tabelle Zeilen mit doppeltem Eintrag holen? Datenbankprogrammierung 4
B Datenbank Abfrage: Es fehlt immer ein Eintrag! Datenbankprogrammierung 7
B Eintrag in der MySQL Datenbank eintragen? Datenbankprogrammierung 2
G Policy Eintrag für SQL Zugriff im Netzwerk Datenbankprogrammierung 10
T [jdbc] einen Eintrag aus mehreren Tabellen löschen (Batch) Datenbankprogrammierung 3
J Eintrag aus der Spalte auswählen Datenbankprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben