sql >> Database teknologi >  >> RDS >> Mysql

MySQL/Hibernate :Standardværdien for kolonnen ikke-nul virker ikke

Ifølge dokumentationen fra PropertyValueException, hvis du angiver en null-værdi i en ejendom, der er erklæret not-null="true" og derefter prøver at fortsætte/opdatere den, vil du få denne undtagelse.

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

Du bør fjerne not-null="true" attributten fra konfigurationen (fordi standardværdien for not-null er falsk), og derefter skal databasen indsætte standardværdien, som du har angivet i konfigurationen for dig (i dette tilfælde '1 ').

[OPDATERING]

Jeg ville have foretrukket at sætte dette som en kommentar i fujys svar, men jeg har ikke lov til at kommentere på andre svar endnu. Virker det som forventet, hvis du fjerner attributten 'not-null' (som jeg viser nedenfor)? Jeg tror, ​​det er det, der forårsager den undtagelse, du får.

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


  1. DB-design:en stor DB til alle kunder eller mange små DB'er

  2. MySQL:Fejlkode:1118 Rækkestørrelse for stor (> 8126). Ændring af nogle kolonner til TEXT eller BLOB

  3. Meddelelse af den generelle tilgængelighed af SQL Secure 4.0

  4. konfigurer php med oracle