GBase 8c
其他
问答

mysql字段类型tinyint转到南大通用数据库类型为int1

发表于2024-08-01 14:10:4964次浏览6个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】:GBase8sV8.8.5_S5.0.0

【操作系统】:

【CPU】:

【问题描述】*:mysql字段类型tinyint转到南大通用数据库类型为int1

程序查询就会报错

评论

登录后才可以发表评论
用户头像
GBase用户137发表于 2年前
是通过jdbc连接的吗?
GBase用户17533发表于 2年前
@GBase用户137:是的。
用户头像
渝欢发表于 2年前
说明:TINYINT 微整数,别名是INT1 ,存储范围0~255,占用1字节。

问题原因:JDBC和Hibernate在数据类型映射方面存在差异。
处理方式:需要在Hibernate配置文件persistence.xml中,手动为JDBC类型为1111的字段进行映射。在Hibernate的映射文件中,使用如下代码来为JDBC类型为1111的字段进行映射方式示例

sql-type="OTHER"告诉Hibernate,这个字段的JDBC类型为“其他类型”。在实际使用时,需要根据实际情况来修改JDBC类型和对应的Hibernate类型。
最佳回答
用户头像
渝欢发表于 2年前
@渝欢:name="unknownTypeColumn" sql-type="OTHER" not-null="true"
GBase用户17533发表于 2年前
@渝欢:解决方法差不多,这边也是重写了这个类型指定为string
GBase用户51935发表于 2个月前
好问题啊。