休眠 - 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 作为普通整数。
我正在尝试在 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 作为普通整数。