Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL/Hibernate:Стойността по подразбиране за не-нулева колона не работи

Според документацията на PropertyValueException, ако зададете нулева стойност в свойство, декларирано като not-null="true", и след това се опитате да го запазите/актуализирате, тогава ще получите това изключение.

Вижте http://docs.jboss.org/ hibernate/orm/3.5/javadoc/org/hibernate/PropertyValueException.html

Трябва да премахнете атрибута not-null="true" от конфигурацията (тъй като стойността по подразбиране на not-null е false) и след това базата данни трябва да вмъкне стойността по подразбиране, която сте посочили в конфигурацията за вас (в този случай '1 ').

[АКТУАЛИЗАЦИЯ]

Бих предпочел да поставя това като коментар в отговора на fujy, но все още не ми е позволено да коментирам други отговори. Работи ли според очакванията, ако премахнете атрибута „not-null“ (Както показвам по-долу)? Вярвам, че това е причината за изключението, което получавате.

 <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. Как да дефинирате персонализиран ред в клауза ORDER BY?

  2. ГРЕШКА 1064 (42000):Имате грешка във вашия SQL синтаксис; Искате да конфигурирате парола като root като потребител

  3. Комбинирайте (сливане) две колони от две таблици в една SQL заявка

  4. Mysql, съхраняващ множество стойности в една колона от друга таблица

  5. MySQL:Обединяване на няколко колони в множество таблици?