2012-12-26 35 views
1

我有一個單表映射的層次結構。 我使用HSQLDB進行測試,並使用自動生成DDL功能。 層次結構中的一個子類具有標量長字段。如何使子類中的標量字段爲空(單個表)?

我無法堅持其他子類的對象,因爲第一個類的數據庫行字段會爲空。

Hibernate生成非空約束的表列。

如果將字段類型更改爲Long,則問題將消失。 但@Nullable註釋不起作用。

我不想長時間使用Long型,因爲這會導致 經常出現拳擊/拆箱。

+0

你爲什麼要這樣?沒有空的long(原始)這樣的東西,因此如果你的表有一個,那麼你的對一個實體對象的翻譯就會炸燬。 – Charlie

+0

我將不同類的不同對象映射到一個表中。 –

回答

0

我懂了。

只需在嵌入類的字段中添加@Column(nullable = true)即可​​。

@Embeddable 
class Delay { 
    @Colum(nullable = true) 
    private long delay; 

} 
相關問題