sql >> Databasteknik >  >> RDS >> Mysql

MySQL/Hibernate :Standardvärdet för kolumnen icke-null fungerar inte

Enligt dokumentationen för PropertyValueException, om du ställer in ett nullvärde i en egenskap som deklareras not-null="true" och sedan försöker bevara/uppdatera den, får du detta undantag.

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

Du bör ta bort attributet not-null="true" från konfigurationen (eftersom standardvärdet för not-null är falskt) och sedan ska databasen infoga standardvärdet som du angav i konfigurationen för dig (i det här fallet '1 ').

[UPPDATERA]

Jag hade föredragit att lägga detta som en kommentar i fujys svar men jag får inte kommentera andra svar än. Fungerar det som förväntat om du tar bort attributet 'not-null' (som jag visar nedan)? Jag tror att det är det som orsakar undantaget som du får.

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


  1. Datamaskering i DB-applikationer

  2. Hur använder man MySQL i WSL (Windows Subsystem for Linux)?

  3. Oracle-databas TNS Värdets längd för nyckel 'datakälla' överskrider dess gräns på '128'

  4. Bästa sättet att lagra tidsintervallvärden i MySQL?