java - 在 JPA 中,将列的可空值设置为 false 实际上有什么作用?
问题描述
在 JPA 中,如果列不可为空,则它必须具有默认值。所以如果我说
@Column(nullable=false)
Boolean isExpired;
它default
会true
或false
?如果它是 aInteger
或 aLong
或 aString
怎么办?有没有办法指定这个?
解决方案
@Column(nullable=false)
只是意味着您应该在插入或更新时始终为该字段提供值。如果你想指定一个默认值,你可以随时添加:
@Column(columnDefinition = "boolean default false")
但是根据您的问题,如果您不为该字段定义特定值(通过 columnDefinition),它仍然null
会在数据库插入或更新期间提示错误(如果它为空)。
推荐阅读
- python - SQL Server Management Studio v18.6 中的 Python/R
- javascript - Firebase 实时数据库不响应 HTML 表单联系人提交
- c - 在未使用的符号上获取 SEGFAULT
- xpath - google sheet,importxml函数显示了一个blo
- node.js - 谷歌云存储权限仅对某些对象
- python - fileobj.flush() 是否保证 os.stat() 被更新?
- c++ - 无法使用 Visual Studio 2019.7.2 编译虚幻引擎 4.25
- sql - 需要一个 SQL 查询来为最新数据生成输出
- kubernetes - kubernetes 是否提供 pod 拆卸序列?
- mysql - 使用 NodeJS 连接到 mysql