2010-07-11 107 views
1

包膜产生一定的数据库列中的默认值:JPA 1,休眠3.3.x,MySQL的5.x的是否有可能使用就是hbm2ddl

我们汽车使用就是hbm2ddl导出操作生成的数据库模式。在SQL生成过程中是否可以为某个@Entity成员生成默认值?在mytable的实体类(如归档域。

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

http://stackoverflow.com/questions/197045/setting-default-values-for-columns-in-jpa – 2010-07-11 16:12:58

+0

@donroby - 感谢您的链接,在columnDefinition中添加默认值是不可移植的,因此不会希望使用该机制。或者,我可以在实体模型中使用默认值。有没有不同的方式来指定这个? – Sam 2010-07-11 16:16:25

+0

我不认为有一种可移植的方式来指定映射中的默认值。 最好在字段声明或构造函数中设置默认值。 – 2010-07-11 17:23:51

回答

1

还有就是要做到这一点,在columnDefinition“绝招”绝对是没有可移植的方法不是一个好办法。其实,设置在生成的DDL默认值,是真的不是一个好的想法,这需要供应商去到数据库中看到插入后的结果,更好的默认在您的Java代码。

以防万一,请注意,你可以告诉Hibernate做使用@Generated注释。