У меня есть логическое свойство в моей сущности. Здесь мои аннотации к этому:
@Column(name = "IS_ACTIVE", nullable = false, columnDefinition="BIT DEFAULT 1", length = 1)
public Boolean getActive() {
return isActive;
}
Но columnDefinition="BIT DEFAULT 1"
не работает отлично. Вот код SQL, который я получаю как результат для сгенерированной таблицы:
IS_ACTIVE BIT(1) NOT NULL,
Что я делаю неправильно?
И поэтому, когда я пытаюсь сохранить экземпляр этого класса в базе данных, я получаю исключение:
`com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'IS_ACTIVE' cannot be null`
Если я удалю свойство nullable = false
:
@Column(name = "IS_ACTIVE", columnDefinition="BIT DEFAULT 1", length = 1)
public Boolean getActive() {
return isActive;
}
поэтому я могу сохранить созданный объект в этом случае. Но по-прежнему значение по умолчанию не установлено, и я получаю NULL в значении этого поля в базе данных.
Любые идеи, пожалуйста? Я использую MySQL Server 5.1, если это важно. Я был бы очень благодарен за любую помощь. Спасибо заранее!