sql >> Databáze >  >> RDS >> Mysql

MySQL/Hibernate:Výchozí hodnota pro sloupec není null nefunguje

Podle dokumentace PropertyValueException, pokud nastavíte hodnotu null ve vlastnosti deklarované not-null="true" a poté se ji pokusíte přetrvat/aktualizovat, dostanete tuto výjimku.

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

Měli byste odstranit atribut not-null="true" z konfigurace (protože výchozí hodnota not-null je false) a poté by databáze měla vložit výchozí hodnotu, kterou jste zadali v konfiguraci (v tomto případě '1 ').

[AKTUALIZACE]

Raději bych to uvedl jako komentář v odpovědi fujy, ale zatím nemám povoleno komentovat jiné odpovědi. Funguje to podle očekávání, pokud odstraníte atribut 'not-null' (jak ukazuji níže)? Věřím, že to je to, co způsobuje výjimku, kterou dostáváte.

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


  1. Po přetažení uložte novou pozici položek RecyclerView v SQLite

  2. Problém se sdružováním Tomcatů do režimu spánku. Vypršel časový limit MySQL

  3. Pokus o zablokování ActiveRecord3 znovu

  4. Úvod do SQL indexů