Ich entwickle eine Feder 3 MVC-Anwendung. Ich verwende Hibernate als ORM. Während ich das Modell definiere, habe ich ein ID-Feld. Ich möchte es automatisch so generieren, dass sein Wert die aktuelle Anzahl der Zeilen in der Tabelle + 1 ist. Wie kann es gemacht werden?ID generieren basierend auf der Anzahl der Zeilen in der Tabelle im Frühjahr
0
A
Antwort
2
AUTOINCREMENT
Spalte oder eine Sequenz wird den Trick tun. In Hibernate mit Anmerkungen versehen einfach id
mit @GeneratedValue
:
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
Hibernate automatisch die ID nächsten verfügbaren Wert gesetzt.
hallo auch. Die Probleme hier sind, dass bestimmte Elemente irgendwann gelöscht werden können. In diesem Fall, wenn ich ein neues Element hinzufüge, ist die ID nicht in der Reihenfolge, sondern ist gleich der Gesamtzahl der Elemente, die an einem Punkt der Tabelle hinzugefügt werden. –
@KaushikBalasubramanain: Ich weiß. Aber stellen Sie sich vor: Wenn Sie drei Datensätze hinzufügen, haben sie 1, 2 und 3 IDs, richtig? Dann, wenn Sie die erste oder zweite löschen und eine weitere hinzufügen, sollte es gemäß Ihrem Algorithmus die ID 3 haben (2 Datensätze in der Datenbank existieren zur selben Zeit) - aber die Aufzeichnung mit einer solchen ID existiert bereits! –