Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL/Hibernate :la valeur par défaut pour la colonne non nulle ne fonctionne pas

Selon la documentation de PropertyValueException, si vous définissez une valeur nulle dans une propriété déclarée not-null="true" et que vous essayez ensuite de la conserver/de la mettre à jour, vous obtiendrez cette exception.

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

Vous devez supprimer l'attribut not-null="true" de la configuration (car la valeur par défaut de not-null est false), puis la base de données doit insérer la valeur par défaut que vous avez spécifiée dans la configuration pour vous (dans ce cas '1 ').

[MISE À JOUR]

J'aurais préféré mettre cela en commentaire dans la réponse de fujy mais je ne suis pas encore autorisé à commenter d'autres réponses. Cela fonctionne-t-il comme prévu si vous supprimez l'attribut 'not-null' (comme je le montre ci-dessous) ? Je crois que c'est ce qui cause l'exception que vous obtenez.

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