Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL/Hibernate :Der Standardwert für die Nicht-Null-Spalte funktioniert nicht

Gemäß der Dokumentation von PropertyValueException erhalten Sie diese Ausnahme, wenn Sie einen Nullwert in einer als not-null="true" deklarierten Eigenschaft festlegen und dann versuchen, ihn zu behalten/aktualisieren.

Siehe http://docs.jboss.org/ hibernate/orm/3.5/javadoc/org/hibernate/PropertyValueException.html

Sie sollten das Attribut not-null="true" aus der Konfiguration entfernen (weil der Standardwert von not-null falsch ist) und dann sollte die Datenbank den Standardwert einfügen, den Sie in der Konfiguration für Sie angegeben haben (in diesem Fall '1 ').

[AKTUALISIEREN]

Ich hätte es vorgezogen, dies als Kommentar in die Antwort von fujy aufzunehmen, aber ich darf noch keine anderen Antworten kommentieren. Funktioniert es wie erwartet, wenn Sie das Attribut „not-null“ entfernen (wie ich unten zeige)? Ich glaube, das verursacht die Ausnahme, die Sie bekommen.

 <property name="isActive" type="java.lang.Short">
     <meta attribute="default-value">1</meta>
     <column name="IsActive" />
 </property>