Ich verwende eine Id Auto GeneratedType SequenzSequence Erzeugungsart Ausgabe SQL JPA
@GeneratedValue(strategy = GenerationType.SEQUENCE)
ich die folgenden Werte für die Id-Spalte in der Tabelle habe
180
181
182
200
230
Aber meine Sequenz scheint zu sein, Inkrementieren von 180,181 and 183
Sequenz, obwohl ich bereits 200 and 230
in der Tabelle haben
Und allmählich erreicht die Sequenz 200 und ich bekomme eine eindeutige Schlüssel Ausnahme .
Gibt es eine Möglichkeit, den GenerationType so zu verwalten, dass er basierend auf dem größten in der Spalte verfügbaren Wert erhöht wird.
How can I make the next increment to be 231 instead of 184?.
Was ist der Zweck von Tabellengenerator oder Identity Generator –
Sie sind andere Arten von Strategien zur Verfügung (wie Sequenzen). Sie können eine basierend auf Ihrem Datenbanksystem auswählen. Der Grund, warum ich sie erwähnte, ist, dass die IDs 200 und 230 außerhalb der JPA-Anwendung erstellt wurden, ohne die Reihenfolge zu verwenden, dh eine andere Art der ID-Generierung. Daher wäre es am besten, Ihre JPA-Anwendung mit derselben ID zu synchronisieren Generierungsstrategie, die außerhalb von JPA verwendet wird, oder Sie werden in Situationen wie dem, was Sie gerade erleben, landen. Ändern Sie kurz Ihren JPA-Anwendungscode oder Ihren Nicht-JPA-Anwendungscode, damit sie miteinander übereinstimmen. – Ranjeet