Java 是否可以使用hbm2ddl为某个数据库列生成默认值

Java 是否可以使用hbm2ddl为某个数据库列生成默认值,java,mysql,hibernate,jpa,hbm2ddl,Java,Mysql,Hibernate,Jpa,Hbm2ddl,Env:jpa1、hibernate3.3.x、MySQL 5.x 我们使用hbm2ddl导出操作自动生成数据库模式。在SQL生成过程中,是否可能为某个@Entity成员生成默认值。(例如,mytable实体类中的存档字段 create table mytable ( ... 'archive‘ tinyint(1) default ’0 ’, ... ) 没有可移植的方法可以做到这一点,而且columnDefinition的“技巧”绝对不是一个好的解决方案。实际上,在生成的DDL中设置默认值

Env:jpa1、hibernate3.3.x、MySQL 5.x

我们使用hbm2ddl导出操作自动生成数据库模式。在SQL生成过程中,是否可能为某个@Entity成员生成默认值。(例如,mytable实体类中的存档字段

create table mytable (
...
'archive‘ tinyint(1) default ’0 ’,
...
)

没有可移植的方法可以做到这一点,而且
columnDefinition
的“技巧”绝对不是一个好的解决方案。实际上,在生成的DDL中设置默认值不是一个好主意,这将要求提供程序在插入1后返回数据库查看结果。在Java代码中设置更好的默认值


1以防万一,请注意,您可以告诉Hibernate使用注释执行此操作。

@donroby-感谢您提供的链接,在columnDefinition中添加默认值是不可移植的,因此不希望使用该机制。或者,我可以在实体模型中使用默认值。是否有其他方法指定此操作?我不认为有一种可移植的方法可以在映射中指定默认值。最好在字段声明或构造函数中设置默认值。