Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL/Hibernate:valor padrão para coluna não nula não funciona


De acordo com a documentação de PropertyValueException, se você definir um valor nulo em uma propriedade declarada not-null="true" e tentar persistir/atualizá-la, você obterá essa exceção.

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

Você deve remover o atributo not-null="true" da configuração (porque o valor padrão de not-null é false) e então o banco de dados deve inserir o valor padrão que você especificou na configuração para você (neste caso '1 ').

[ATUALIZAÇÃO]

Eu preferiria colocar isso como um comentário na resposta de fujy, mas ainda não tenho permissão para comentar sobre outras respostas. Funciona como esperado se você remover o atributo 'not-null' (como estou mostrando abaixo)? Acredito que seja isso que está causando a exceção que você está recebendo.
 <property name="isActive" type="java.lang.Short">
     <meta attribute="default-value">1</meta>
     <column name="IsActive" />
 </property>