Ich habe eine j2ee-Anwendung, die den Ruhezustand mit Anmerkungen verwendet. Wie kommentiere ich das ID-Feld in meiner Pojo-Klasse, um es als automatisch inkrementiert oder automatisch generiert festzulegen? und lasse ich beim Hinzufügen der Bean dieses Feld in meiner Bean null?
java
hibernate
auto-increment
Cedric
quelle
quelle
Gehen Sie wie folgt vor: -
Sie können anstelle von kaugen einen beliebigen Namen verwenden. Es hat gut funktioniert, ich konnte unten Abfragen auf der Konsole sehen
quelle
Zu Ihrer Information
Wenn Sie netbeans New Entity Classes aus der Datenbank mit einer mysql * auto_increment * -Spalte verwenden, erstellen Sie ein Attribut mit den folgenden Anmerkungen:
Dies brachte mir den gleichen Fehler, dass die Spalte nicht null sein darf, also habe ich einfach die @ NotNull-Anotation entfernt, wobei das Attribut null belassen wurde, und es funktioniert!
quelle
Der Ruhezustand definiert fünf Arten von Strategien zur Generierung von Kennungen:
AUTO - entweder Identitätsspalte, Sequenz oder Tabelle, abhängig von der zugrunde liegenden Datenbank
TABELLE - Tabelle mit der ID
IDENTITY - Identitätsspalte
SEQUENZ - Sequenz
Identitätskopie - Die Identität wird von einer anderen Entität kopiert
Beispiel mit Tabelle
Weitere Informationen finden Sie unter dem Link .
quelle
Wenn Sie eine numerische Spalte haben, die Sie automatisch inkrementieren möchten, können Sie diese möglicherweise
columnDefinition
direkt festlegen . Dies hat den Vorteil, dass das Schema den Wert automatisch generiert, auch wenn er ohne Ruhezustand verwendet wird. Dies könnte Ihren Code jedoch db-spezifisch machen:quelle
Für den Fall, dass jemand in dieser SO-Frage auf der Suche nach Strategien für die Informix- Tabelle "stößt", wenn PK vom Typ Seriell ist .
Ich habe festgestellt, dass dies funktioniert ... als Beispiel.
Damit dies funktioniert, stellen Sie sicher, dass Sie beim Ausführen von session.SaveOrUpdate den Wert für die Spalte special_serial_pk NULL übergeben .
In meinem Fall mache ich einen HTML POST mit JSON wie folgt ...
quelle
Verwenden von NetBeans Neue Entitätsklassen aus der Datenbank mit einer MySQL mysql- Spalte auto_increment verwenden , wird ein Attribut mit der folgenden Datei hibernate.hbm.xml erstellt: id ist das automatische Inkrementieren
quelle