我有一个属性
private boolean include;
我想将其默认值设置为 true,以便在数据库中它必须默认显示 True。这在 JPA 中可能吗?
原文由 Andre Coetzee 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个属性
private boolean include;
我想将其默认值设置为 true,以便在数据库中它必须默认显示 True。这在 JPA 中可能吗?
原文由 Andre Coetzee 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用 JPA 2.1 和 Oracle 11 这通过使用大小为 1 的 Oracle 类型 NUMBER 对我有用:
爪哇:
@Column(name = "ENABLED", nullable = false)
private boolean enabled = true;
创建 SQL 脚本:
CREATE TABLE "ACCOUNT"(
"ID" NUMBER(10,0) NOT NULL ENABLE,
"NAME" VARCHAR2(255 CHAR) NOT NULL ENABLE,
"PASSWORD" VARCHAR2(255) NOT NULL ENABLE,
"ENABLED" NUMBER(1,0) DEFAULT 1 NOT NULL ENABLE,
PRIMARY KEY ("ID")
);
原文由 Daniel Mora 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
据我所知,没有提供默认值的 JPA 本机解决方案。这是我的解决方法:
非数据库可移植解决方案
面向Java的解决方案
面向 Java 加 Builder 模式
这是我最喜欢的,不那么打扰。基本上,它将任务委托给实体中的 Builder 模式定义默认值。