我的实体中有一个布尔属性。这是我的注释:
@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。如果有任何帮助,我将不胜感激。提前致谢!