(特别感谢某位老哥)
1.原因
类型转换失败。
2.解决方法
自定义kingbase的hibernate方言,继承Kingbase8Dialect,重写getSqlTypeDescriptorOverride方法,将hibernate方言自定义的方言。
@Override
public SqlTypeDescriptor getSqlTypeDescriptorOverride(int sqlCode) {
SqlTypeDescriptor descriptor;
switch (sqlCode)
{
case 2004:
//descriptor = BlobTypeDescriptor.BLOB_BINDING;
descriptor = LongVarbinaryTypeDescriptor.INSTANCE;
break;
case 2005:
//descriptor = ClobTypeDescriptor.STREAM_BINDING;
descriptor = ClobTypeDescriptor.CLOB_BINDING;
break;
default:
descriptor = super.getSqlTypeDescriptorOverride(sqlCode);
}
return descriptor;
}
小技巧:idea报错太多,重叠了报错提示,可以点击后方灰色的xxxline显示错误信息。