我试图在spring中设置模型中列的默认值
我知道我可以将它们设置为private boolean company=true;
另一种设置列默认值的方法包括columnDefinition
注释中的@Column
我尝试将其作为
@Column(nullable=false, columnDefinition="boolean default true")
private boolean company;
进行
但是在我的表中,每当我运行此代码时,company
的值都被设置为0
。我正在使用mysql工作台。
我做错了吗?或者还有其他方法吗?
编辑:我知道在我的表格中没有存储布尔值。只会存储0或1。但是当我将columnDefinition
更改为@Column(nullable=false, columnDefinition="tinyint(1) default '1'")
时,还会存储值到表格是0。
答案 0 :(得分:0)
cdef
,其中包含启用org.hibernate.annotations.Entity
和dynamicUpdate
的方法
或者你可以使用dynamicInsert
注释,它是在持久化之前执行的回调
javax.persistence.PrePersist
答案 1 :(得分:0)
数据库不会将布尔值/布尔值的默认值存储为true或false。默认情况下,它将以数字格式(0/1)表示布尔值或布尔值。如果需要,您也可以将其存储为“Y / N”,如下所示
@Type(type="yes_no")
public boolean getCompany();