Field 'id' doesn't have a default value
Dieser Fehler tauchte bei mir auf, als ich mit Hibernate einen Datensatz speichern wollte. Die Ursache war ziemlich simpel. Den Primärschlüsse der Tabelle namens "id" sollte nicht von Hibernate gesetzt werden, sondern ich wollte ihn manuell vergeben. Deswegen war in der Datenbank-Tabelle auch nicht "auto_increment" aktiviert.
Allerdings habe ich in der Bean den Primärschlüssel folgendermaßen definiert:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public long getId() {
return id;
}
Natürlich darf ich nicht von Hibernate einen automatisch generierten Schlüssel vergeben lassen. Der Fehler lässt sich lösen, wenn Sie also einfach die Zeile @GeneratedValue(strategy = GenerationType.AUTO) löschen und dann den Primärschlüssel manuell vergeben.
Allerdings habe ich in der Bean den Primärschlüssel folgendermaßen definiert:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public long getId() {
return id;
}
Natürlich darf ich nicht von Hibernate einen automatisch generierten Schlüssel vergeben lassen. Der Fehler lässt sich lösen, wenn Sie also einfach die Zeile @GeneratedValue(strategy = GenerationType.AUTO) löschen und dann den Primärschlüssel manuell vergeben.
Werbung