2014-06-26 466 views
0

難道是強制性的指定屬性的所有propertis這樣Ommit在映射類屬性的屬性

@Column(name = "ID_COMPANY", unique = true, nullable = false) 

或使剛:

@Column(name = "ID_COMPANY") 

和我們有一個字符串指定長度?

@Column(name = "NAME", length = 30) 

或者只是:

@Column(name = "NAME") 

,因爲如果我改變varchar長度在我的數據庫,我必須在我的映射類再次改變它,它一點很難,如果我有很多的變化。

回答

1

不,這不是強制性的。

僅當您使用Hibernate生成數據庫模式時,纔會使用除name以外的大多數選項。如果您手動維護模式,則可以安全地忽略它們。

但是,其中一些(如nullableunique)可能對文檔有用。

+0

感謝我使用休眠工具生成映射類...我如何能只是'name'選項再次產生呢? – Youssef

+0

@ user3756879:我不熟悉這些工具。 – axtavt

+0

感謝男人的幫助;) – Youssef

1

@Column註釋的所有元素都有默認值。除非您的模式違反可空性,唯一性,長度等缺省值(或者您的數據庫列與您的字段名稱的名稱不完全匹配),否則您可以將它們留在註釋中以防止混亂。

默認值就可以看到的JavaDoc這裏:http://docs.oracle.com/javaee/7/api/javax/persistence/Column.html

+0

感謝它真的很有用。 – Youssef