2016-03-21 51 views
-1

我想在Hibernate中映射一個tinyint(1)列。對於需求,我需要在列中保存值「2」,但我無法更改它的SQL類型。 如果我在我的類中聲明它爲整數,則hibernate驗證失敗。我如何獲得驗證工作並讓列int或字節在其中保存值2?Hibernate - MySql,Tinyint列

這是我的代碼:

<property name="flag" type="java.lang.Integer"> 
<column name="flag" not-null="true" sql-type="TINYINT"/> 
</property> 

我需要保存價值2爲標誌柱

+0

添加代碼到您的問題 – whd

回答

0

嘗試的 sql-type="BIT"代替 sql-type="TINYINT"

+0

我試過這個:但驗證仍然失敗:找到:位,預期:整數 – vjok

+0

sql-type =」BIT「對我很好!謝謝!! – vjok

+0

哇,我刪除了這個評論,因爲我認爲它很愚蠢。我很高興,它有幫助。你能接受我的回答嗎?謝謝。 –

0

只需執行下面的陳述書

alter table my_table modify column my_col tinyint; 

實際上,一些框架將tinyint(1)視爲布爾類型意味着只接受0和1,即使tinyint最多可將127作爲有符號值處理,最多可處理255作爲無符號值。根據mysql,tinyint(1)與tinyint或tinyint(4)相同,但是這是將tinyint(1)視爲布爾型但tinyint(2)或僅將tinyint視爲正常整數的框架屬性。

+0

我不能這樣做 – vjok

+0

詢問管理你的數據庫的人。 –