2010-07-11 102 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註釋。