2013-07-18 67 views
0

所以我有一個嵌入式類型包含兩個字段映射到列。在這種類型中,兩列都設置爲nullable = false@AttribueOverride(name =「col1」,column = @ Column(nullable = true))拋出不能設置字段爲空值

在使用該可嵌入類型的另一個對象中,我想重寫列名稱並將其中一列設置爲nullable = true

@AttributeOverrides({ @AttributeOverride(name="col1", [email protected](name="COL_1", nullable=true)), @AttributeOverride(name="col2", [email protected](name="COL_2", nullable=false)) })

似乎罰款,對不對?

當我運行我的代碼,我試圖讀取行,其中COL1是空的,我得到這個:

org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter col1

任何想法?

在此先感謝。

回答

3

該列可以爲空,但實體中的字段爲原始類型(假定爲int,long或boolean)。 Hibernate無法將null存儲到基本類型字段中。它應該是整型或長整型或布爾型。

這就是錯誤消息所說的:「空值已分配給原始類型的屬性」。

相關問題