2016-09-17 4 views
1

Я пытаюсь установить значение по умолчанию столбцов в модели весной.
Я знаю, что я могу установить их как
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

ответ

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();