2016-05-05 5 views
1

У меня есть таблица в моей базе данных MySQL, которая содержит столбец status со значением по умолчанию, определенным в базе данных, с использованием phpMyAdmin. Когда я вставить новую строку, используя Hibernate, я получаю эту ошибку:NULL вставлен вместо значения столбца по умолчанию

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'status' cannot be null

мне нужно сделать что-нибудь еще, чтобы использовать значение по умолчанию?

Entity

@Entity 
class Purchase { 

    //More fields 
    private String status; 

    @Basic 
    public String getStatus() { 
     return status; 
    } 

} 
+0

Вы должны установить 'status' значение по умолчанию в сущности , или вы можете использовать sql для вставки записи без fileld 'status'. – Blank

ответ

4

Использовать значение по умолчанию для поля

private String status = "Default"; 

или использовать @PrePersist Annotion,

@PrePersist 
public void prePersist() { 
    if(status == null) 
     status = "Default value"; 
} 
Смежные вопросы