首页 > 解决方案 > 在 JPA 中,将列的可空值设置为 false 实际上有什么作用?

问题描述

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

@Column(nullable=false)
Boolean isExpired;

defaulttruefalse?如果它是 aInteger或 aLong或 aString怎么办?有没有办法指定这个?

标签: javajpa

解决方案


@Column(nullable=false)只是意味着您应该在插入或更新时始终为该字段提供值。如果你想指定一个默认值,你可以随时添加:

 @Column(columnDefinition = "boolean default false")

但是根据您的问题,如果您不为该字段定义特定值(通过 columnDefinition),它仍然null会在数据库插入或更新期间提示错误(如果它为空)。


推荐阅读