java - 休眠中的默认位字段
问题描述
我有一个 MSSQL 旧数据库,它使用BIT,NULL列来表示 Java 布尔值。该列包含值 0,1,NULL。
我希望在 Java 中将所有 NULL 转换为 FALSE,但我不想添加if (x==null) {x=false}
到每个 setter 的开头。
private Boolean digital;
@Column(name = "Digital", length = 1, nullable = true, columnDefinition = "bit")
public void setDigital(Boolean digital) {
if (digital == null) { digital = Boolean.FALSE; }
this.digital = digital;
}
我尝试将类型转换为原始布尔值,但休眠抱怨它无法将 NULL 转换为原始类型,即使我在 java 中设置了默认值。
private boolean digital = false;
@Column(name = "Digital", length = 1, nullable = false, columnDefinition = "bit")
public boolean getDigital() {
return digital;
}
理想情况下,我想要的是一个返回 true(对于 1)或 false(对于 0 或 NULL)的原始布尔类型。休眠中是否有任何选项可以执行此操作。
解决方案
推荐阅读
- reactjs - 如何将 Gutenberg ColourPicker RGBA 存储为元数据(React)
- go - 如何在 GoLang 中解析 url 中的多个参数?
- inventory - Odoo 13:如何为同一产品使用每家公司的不同重量计量单位
- ssl - 如果我在具有备用信任路径的链中的其他证书已过期,会发生什么情况?
- c# - 如何解决硒 C# 中 Chrome 驱动程序中的“错误:browser_switcher_service.cc”XXX Init() 问题
- ios - SwiftPM 迁移后未找到 Realm.Sync* 类
- c# - 如何制作不会覆盖 WPF .XAML 中样式的自定义文本框
- android - Android - “firebase.test.lab”设置无法从 Firebase 分析中排除 Play 商店测试活动
- jenkins - 如何在 Jenkins 中使用 kubeconfig 文件作为凭证?
- python - 使用 enumerate() 时一次读取两行