Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL/Hibernate :Domyślna wartość dla niepustej kolumny nie działa

Zgodnie z dokumentacją PropertyValueException, jeśli ustawisz wartość null we właściwości zadeklarowanej not-null="true", a następnie spróbujesz ją utrwalić/zaktualizować, otrzymasz ten wyjątek.

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

Powinieneś usunąć atrybut not-null="true" z konfiguracji (ponieważ domyślna wartość not-null to false), a następnie baza danych powinna wstawić domyślną wartość, którą określiłeś w konfiguracji (w tym przypadku '1 ').

[AKTUALIZACJA]

Wolałbym umieścić to jako komentarz w odpowiedzi fujy, ale nie mogę jeszcze komentować innych odpowiedzi. Czy działa zgodnie z oczekiwaniami, jeśli usuniesz atrybut „not-null” (jak pokazuję poniżej)? Uważam, że to jest przyczyną wyjątku, który otrzymujesz.

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQLi przygotował instrukcje i ZAMIEŃ NA

  2. Jak modelować relacje wiele-do-wielu w MongoDB (dla użytkownika MySQL)

  3. Jak udostępnić jedno połączenie mysql między wieloma wątkami?

  4. Jak zresetować/zmienić wiersz poleceń MySql root w wierszu poleceń ubuntu linux?

  5. Zapytanie Mysql, aby znaleźć identyfikator, w którym spełnia wiele warunków dla jednej kolumny