PostgreSQL错误处理“operator does not exist: character varying = bytea at character”

前端之家收集整理的这篇文章主要介绍了PostgreSQL错误处理“operator does not exist: character varying = bytea at character”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Postgresql的日志报如下的错误

2015-05-26 15:34:42.324 CST:(49514):<14753>:[30287041] ERROR: operator does not exist: character varying = bytea at character 704
2015-05-26 15:34:42.324 CST:(49514):<14753>:[30287041] HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
2015-05-26 15:34:42.324 CST:(49514):<14753>:[30287041] STATEMENT: xxx

从给出的报错对应的sql中可以定位到是哪个=子句,在网络上查找到对应的信息:

当使用hibernate使用参数绑定,而参数的值为null时,hibernate或者Postgresql驱动将这个参数映射为varbinary类型,Postgresql将varbinary认为为bytea类型

因此,在代码中特殊地处理值为null的情况,避免将null值传送给Postgresql即可。

猜你在找的Postgre SQL相关文章