Я пытаюсь установить значение по умолчанию столбцов в модели весной.
Я знаю, что я могу установить их как private boolean company=true;
Другой способ установки значения столбца по умолчанию включает в себя columnDefinition
в @Column
аннотации.
Я старался делать это как @Column(nullable=false, columnDefinition="boolean default true") private boolean company;
Но в моей таблице, значение company
создается в 0
всякий раз, когда я запускаю этот code.I я использую MySQL Workbench.
Я делаю это неправильно? Или есть другие способы сделать это?
Edit: Я знаю, что в моих таблицах булевы значения не stored.Only 0 или 1 будет stored.But, когда я изменить мой columnDefinition
к @Column(nullable=false, columnDefinition="tinyint(1) default '1'")
то же значение, которое хранится в таблицах 0.Как установить значение по умолчанию для столбца в модели с помощью annotaion
1
A
ответ
0
org.hibernate.annotations.Entity
является осуждается, который имеет методы для того, чтобы dynamicUpdate
и dynamicInsert
в качестве альтернативы вы можете использовать javax.persistence.PrePersist
аннотацию, его обратный вызов выполняется перед упорствовать
private Boolean active;
@PrePersist
public void before() {
if (active == null)
this.active = true;
}
0
База данных не будет хранить значение по умолчанию как true или false для boolean/Boolean. Он будет представлять логическое или логическое числовое число (0/1) по умолчанию. Если вы хотите, вы также можете сохранить его как «Y/N», как показано ниже
@Type(type="yes_no")
public boolean getCompany();