Hibernate: @GeneratedValue(strategy = GenerationType
Ich bin mit DB2 für meine Anwendung. Ich einige Einfüge-Skript nach dem erstellen der Datenbank. Das einfügen Skript erstellt Einträge in der Tabelle mit der id ' s in Skript einfügen.
Angenommen, für die abc-Tabelle einfügen-Skript erstellt einen Datensatz mit der id = 3. Als id ' s sind auf auto erzeugt im Ruhezustand, also während des Speicherns der Dritte Datensatz von Anwendung, die ich bekam Ausnahme.
Caused by: com.ibm.websphere.ce.cm.DuplicateKeyException: One or
more values in the INSERT statement, UPDATE statement, or foreign
key update caused by a DELETE statement are not valid
because the primary key, unique constraint or unique
index identified by "1" constrains table
Ich bin mit @GeneratedValue(strategy = GenerationType.AUTO)
Was strategy = GenerationType
sollte ich verwenden, um dieses problem zu überwinden.
- klar darfst du-Datenbank nach dem einfügen dieser Regel
- Nach legen Sie die Regel?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es Probleme mit bestimmten Datenbanken und Ruhezustand wenn Sie GenerationType.IDENTITÄT. Versuchen Sie es mit einer Sequenz und explicitlly konfigurieren alles für Sie:
Für DB2
@GeneratedValue(strategy = GenerationType.IDENTITY)
sollte korrekt funktionieren.Wenn ids sind in der Datei, dann brauchen Sie nicht
@GeneratedValue
überhaupt, denn es gibt keine id zu generieren. Und stellen Sie sicher, zu reinigen Datenbank wie @SjB vorgeschlagen.Auch, ohne viel darüber zu wissen DB2, die Fehlermeldung deutet darauf hin, dass es möglicherweise andere Verletzungen als nur doppelte id beim einfügen. Gibt es irgendwelche Fremdschlüssel beteiligt?
Nichts funktioniert, außer diese Abfrage.
DB2 wählen sollten zur Verfügung-ID aber nicht dabei.