休眠。创建列后添加默认列值

时间:2016-04-24 10:53:07

标签: java hibernate

有没有办法在使用Hibernate创建列后为现有条目设置默认值?

发现该操作可以通过以下方式手动完成:

ALTER TABLE Employee 
ADD DEFAULT('SANDNES') FOR CityBorn

但有没有办法用hibernate做某事?

2 个答案:

答案 0 :(得分:0)

这将是休眠的方式。

@Column(name="CityBorn", columnDefinition="default 'SANDNESS'")
private String cityBorn;

答案 1 :(得分:0)

您可以使用注释

@ColumnDefault("SANDNES")

与指定的here

一样

或xml-fragment

  <column name="CityBorn" default="SANDNES" />

与指定的here

一样

如果你想让Hibernate重新创建数据库,你必须指定hibernate.hbm2ddl.auto = update,但这不是推荐的生产方式(参见例如this question) 通常会使用第三方工具进行模式迁移(例如liquibase或flyway)。 hbm2ddl(由Hibernate使用)的可能性是有限的。