【发布时间】:2016-08-17 18:10:19
【问题描述】:
有没有办法在使用 Hibernate 创建列后为现有条目设置默认值?
发现可以手动操作:
ALTER TABLE Employee
ADD DEFAULT('SANDNES') FOR CityBorn
但是有没有办法使用休眠来做某事?
【问题讨论】:
有没有办法在使用 Hibernate 创建列后为现有条目设置默认值?
发现可以手动操作:
ALTER TABLE Employee
ADD DEFAULT('SANDNES') FOR CityBorn
但是有没有办法使用休眠来做某事?
【问题讨论】:
这就是休眠的方式。
@Column(name="CityBorn", columnDefinition="default 'SANDNESS'")
private String cityBorn;
【讨论】:
你可以使用注解
@ColumnDefault("SANDNES")
喜欢指定here
或xml片段
<column name="CityBorn" default="SANDNES" />
喜欢指定here
如果你想让 Hibernate 重新创建你的数据库,你必须指定 hibernate.hbm2ddl.auto=update,但这不是推荐的生产方式(例如参见 this question) 通常人们会使用第三方工具进行模式迁移(例如 liquibase 或 flyway)。 hbm2ddl(Hibernate 使用)的可能性是有限的。
【讨论】: