【发布时间】:2015-03-22 08:28:53
【问题描述】:
我知道在 SO 和网络上有很多这样的问题,但所有答案都建议使用 columnDefinition,这是特定于数据库的,因此不适用于我,因为我正在处理的系统需要运行在不同的数据库上。
我发现了这个hibernate issue,有人在其中请求使用此功能进行注释。该问题已关闭,称another issue 将涵盖该功能。第二个问题显然添加了注释@Generated 以及其他一些注释,但我找不到任何有关如何使用这些新注释定义默认列值的文档。
所以我的问题是:有谁知道我如何定义带有注释的默认列值(而不是使用columnDefinition)?
编辑: 进一步澄清我的问题:当我添加一个新的非空列时,我需要 Hibernate 来更新现有架构(将新列添加到相应的表中)。但是由于该列是非空的,数据库不能在不指定默认值的情况下创建该列(如果表中已经有一些行)。所以我需要指示 Hibernate 发出以下 DDL 语句:ALTER TABLE my_table ADD COLUMN new_column VARCHAR(3) DEFAULT 'def',但它必须独立于使用的数据库。
【问题讨论】: