在休眠中设置属性的默认值不起作用
2022-09-02 19:59:44
我的实体中有一个布尔属性。以下是我对它的注释:
@Column(name = "IS_ACTIVE", nullable = false, columnDefinition="BIT DEFAULT 1", length = 1)
public Boolean getActive() {
return isActive;
}
但工作并不完美。以下是我为生成的表获得的结果的SQL代码:columnDefinition="BIT DEFAULT 1"
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,如果它很重要。如果有任何帮助,我将不胜感激。提前致谢!