我试图在Hibernate中映射一个tinyint(1)列。对于需求,我需要在列中保存值"2“,但不能更改它的sql类型。如果我在类中声明它为Integer,则hibernate验证失败。如何使验证工作,并使列int或字节在其中保存值2?
这是我的密码:
<property name="flag" type="java.lang.Integer">
<column name="flag" not-null="true" sql-type="TINYINT"/>
</property>我需要将值2保存到标志列中。
发布于 2016-03-21 10:41:30
尝试sql-type="BIT"而不是sql-type="TINYINT"
发布于 2016-03-21 10:41:48
只需执行以下语句-
alter table my_table modify column my_col tinyint;实际上,一些框架将tinyint(1)视为布尔类型,意味着仅接受0,甚至tinyint也可以处理高达127的签名值和最多255的无符号值。
根据mysql,tinyint(1)与tinyint或tinyint(4)相同,但这是框架属性,它将tinyint(1)视为布尔型但tinyint(2),或仅将tinyint视为普通整数。
https://stackoverflow.com/questions/36128642
复制相似问题