Hibernate - MySql,Tinyint专栏

时间:2016-03-21 10:32:40

标签: java mysql sql hibernate tinyint

我正在尝试在Hibernate中映射tinyint(1)列。对于需求,我需要在列中保存值“2”,但我无法更改它的sql类型。 如果我在我的类中将它声明为Integer,则hibernate验证失败。如何使验证工作并使用int或byte列来保存值2?

这是我的代码:

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

我需要将值2保存到标志列

2 个答案:

答案 0 :(得分:0)

尝试 sql-type="BIT"代替 sql-type="TINYINT"

答案 1 :(得分:0)

只需执行以下声明 -

<manifest>

实际上有些框架将tinyint(1)视为boolean类型意味着只接受0和1甚至tinyint可以处理最多127个有符号和最多255个无符号值。

根据mysql,tinyint(1)与tinyint或tinyint(4)相同,但这是框架属性,将tinyint(1)视为布尔值,将tinyint(2)或tinyint视为普通整数。