我是靠谱客的博主 疯狂小鸭子,这篇文章主要介绍mybatis-plus 查询hive数据库报错Required field ‘type‘ is unset报错org.apache.thrift.protocol.TProtocolException: Required field ‘type’ is unset! Struct:TPrimitiveTypeEntry(type:null, typeQualifiers:TTypeQualifiers(qualifiers:{characterMaximumLength=})),现在分享给大家,希望可以做个参考。

mybatis-plus 查询hive数据库,报错Required field 'type' is unset!

  • 报错org.apache.thrift.protocol.TProtocolException: Required field 'type' is unset! Struct:TPrimitiveTypeEntry(type:null, typeQualifiers:TTypeQualifiers(qualifiers:{characterMaximumLength=}))
    • 可能的原因之一

报错org.apache.thrift.protocol.TProtocolException: Required field ‘type’ is unset! Struct:TPrimitiveTypeEntry(type:null, typeQualifiers:TTypeQualifiers(qualifiers:{characterMaximumLength=}))

在这里插入图片描述

可能的原因之一

hive数据库中有两种存储字符的类型,varchar 和 string。
如果hive 数据库字段里是varchar类型,在java类中用String接收,就会报错:org.apache.thrift.protocol.TProtocolException: Required field ‘type’ is unset!

这里的hive版本为:
在这里插入图片描述

使用DBeaver连接hive数据库,看表字段类型如下;
在这里插入图片描述
Mapper.java

在这里插入图片描述
报错:
在这里插入图片描述
解决办法:
类型转换 使用 cast 函数将 varchar 转成 string
在这里插入图片描述
然后就查询成功了。

最后

以上就是疯狂小鸭子最近收集整理的关于mybatis-plus 查询hive数据库报错Required field ‘type‘ is unset报错org.apache.thrift.protocol.TProtocolException: Required field ‘type’ is unset! Struct:TPrimitiveTypeEntry(type:null, typeQualifiers:TTypeQualifiers(qualifiers:{characterMaximumLength=}))的全部内容,更多相关mybatis-plus内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(89)

评论列表共有 0 条评论

立即
投稿
返回
顶部