java—在jpa中,将列的nullable设置为false实际上做了什么?

k2fxgqgv  于 2021-06-26  发布在  Java
关注(0)|答案(1)|浏览(328)

在jpa中,如果列不可为null,则它必须具有默认值。所以如果我说

@Column(nullable=false)
Boolean isExpired;

会吗 defaulttrue 或者 false ? 如果它是一个 Integer 或者 Long 或者 String ? 有没有办法具体说明这一点?

2wnc66cl

2wnc66cl1#

@Column(nullable=false) 简单地说,在插入或更新时,应该始终向该字段提供值。如果要指定默认值,始终可以添加以下内容:

@Column(columnDefinition = "boolean default false")

但根据您的问题,如果您不为该字段定义特定值(通过columndefinition),它仍然是 null 如果为null,则在db insert或update期间将提示一个错误。

相关问题