休眠 - MySql,Int 列

Hibernate - MySql, Tinyint column

我正在尝试在 Hibernate 中映射一个 tinyint(1) 列。根据要求,我需要在列中保存值“2”,但我无法更改它的 sql 类型。 如果我在 class 中将其声明为整数,则休眠验证失败。我怎样才能使验证工作并让列 int 或 byte 在其中保存值 2?

这是我的代码:

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

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

试试看 sql-type="BIT" 而不是 sql-type="TINYINT"

只需执行以下语句-

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 作为普通整数。